n!表示n ×(n − 1)×…×3×2×1
例如10!= 10×9×…×3×2×1 = 3628800,
数字10中的数字总和!是3 + 6 + 2 + 8 + 8 + 0 + 0 = 27。
找到数字100的总和!
和之前那个2的1000次方类似,数据太大,还是用数组来进行运算
#include<string.h>
#include<iostream>
using namespace std;
void main()
{
int i,j,sum=0;
int a[1000];
memset(a,0,sizeof(a));
a[999]=1;
for(i=1;i<=100;i++)
{
for(j=999;j>=0;j--)
{
a[j]*=i;
}
for(j=999;j>=0;j--)
{
if(a[j]>=10)
{
a[j-1]+=a[j]/10;
a[j]=a[j]%10;
}
}
}
for(j=999;j>=0;j--)
sum+=a[j];
cout<<sum<<endl;
}