阶乘数字和
n! 的意思是 n × (n − 1) × … × 3 × 2 × 1
例如,10! = 10 × 9 × … × 3 × 2 × 1 = 3628800,所以10!的各位数字和是 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27。
求出100!的各位数字和。
结果:648
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
int a[20000];
int i=1;
int sum=0;
memset(a,0,sizeof(a));
a[0] = 1;
while(i<=100){
for(int j=0;j<=1000;j++){
a[j]=a[j]*i;
}
for(int k=0;k<=1000;k++){
if(a[k]>9){
a[k+1] += a[k]/10;
a[k] = a[k]%10;
}
}
i++;
}
for(int j=0;j<=10000;j++){
sum += a[j];
}
cout<<sum<<endl;
return 0;
}