int factorial_ten(int n);
int main()
{
factorial_ten(100);
return 0;
}
int factorial_ten(int n)
{
int i;
double sum = 1;
for(i=1;i<=n;i++)
{
sum *= i;
}
printf("sum is %.0f\n",sum);
char s[2048] = {0};
snprintf(s,2048,"%.0f",sum);
int len = strlen(s);
printf("len is %d\n",len);
return 0;
}
本题关键是求出和的长度,由于数据大,sum需要用double类型,否则导致溢出。