程式碼如下
#include<iostream>
using namespace std;
main()
{
int n,i,j,x,ans;
while(cin >> n)
{
ans=0;
x=0;
int num[3020]={0};
num[0]=1;
for(i=2;i<=n;i++)
{
for(j=0;j<=x;j++)
if(num[j])
num[j]*=i;
for(j=0;j<x+5;j++)
if(num[j]>=10)
{
num[j+1]+=num[j]/10;
num[j]%=10;
}
for(j=3000;;j--)
if(num[j])
{
x=j;
break;
}
}
for(i=0;i<=x;i++)
ans+=num[i];
cout << ans << endl;
}
}