(1) 普通にint型を使って1!, 2!, 3!と計算していくと、正常に計算できるのは いくつまでか確かめよ。結果がおかしくなったnについて、なぜおかしくなったのか 考察せよ。
(2) 配列で10000進数を表現する(要するに4桁ずつ区切って配列に格納する) ことによってこの値を計算するプログラムを作れ。
#include <stdio.h>
int main(void)
{
int a[10000];
int n, i, j, carry, tmp;
a[0] = 1;
n = 1;
for (i=2; i<=1000; i++) {
carry = 0;
for (j=0; j<n; j++) {
/* このへんを書く */
}
if (carry != 0) {
a[n] = carry;
n++;
}
}
for (j=n-1; j>=0; j--) {
printf("%04d", a[j]);
}
printf("\n");
return 0;
}
補足: