予選結果

応募総数36組。内、コンパイルエラーもしくはANSI C準拠でないものを 除き、4組が不正解。残り30組を審査対象としました。実行時間による差は ほとんどなく、 によって優劣を判断しています。

特に解法に関しては

をいかにうまく処理しているか、また、レポートはこれら 解法を に主眼を置きました。

以下にあるチームのプログラムを示します。今回応募の あったものの中で最短のプログラムです。繰り返し計算の 中で同時に擬似多倍長計算(結果の桁数をあらかじめ固定) を行っています。

#include<stdio.h>
#include<stdlib.h>
void main(int argc,char *argv[]){
int m,n,x,a[101][2];
n=atoi(argv[1]);
m=atoi(argv[2]);
printf("%d %d \n",n,m);
a[0][0]=a[1][0]=n+m;
a[0][1]=a[1][1]=0;
        for(x=2;x<=n;x++){
        a[x][0]=a[x-1][0]+a[x-2][0]/2+(a[x-2][1]%2)*50000000;
	a[x][1]=0;
		if(a[x][0]>100000000){	
		a[x][1]=a[x][0]/100000000;
		a[x][0]=a[x][0]%100000000;
		}
	a[x][1]+=a[x-1][1]+a[x-2][1]/2;
        }
printf("%d%08d \n",a[n][1],a[n][0]);
}