求100的阶乘各位数之和

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类型,否则导致溢出。

你可能感兴趣的:(C语言)