#include <iostream>
using namespace std;
int factorial_sum(int n)//其中,digit数组的输出倒着读便是乘积的值
{
int digit[1000] = { 0 };
digit[0] = 1;
for (int m = 1; m <= n; ++m)
{
int buffer[1000] = { 0 };
for (int i = 0; i < 1000; ++i)
buffer[i] = digit[i] * m;
for (int i = 0; i <= 1000; ++i)
{
buffer[i + 1]+= buffer[i] / 10;
digit[i] = buffer[i] % 10;
}
}
int sum = 0;
for (int i = 0; i < 1000; ++i)
sum += digit[i];
return sum;
}
int main()
{
cout << factorial_sum(100) << endl;
system("pause");
}
转载于:https://my.oschina.net/u/3772904/blog/1803316