为什么这个不行 阶乘之和 萌新
#include <bits/stdc++.h>
using namespace std;
int fac[1002],s[1002],n;
int main()
{
cin>>n;
fac[1]=1;
s[1]=1;
for(int i=2; i<=n; i++)
{
for(int j=1; j<=1000; j++)
fac[j]*=i;
for(int j=1; j<=1000; j++)
fac[j+1]+=fac[j]/10,fac[j]%10;
for(int j=1; j<=1000; j++)
s[i]+=fac[j],s[j+1]+=s[j]/10,s[i]%=10;
}
int j=1000;
while(s[j]==0&&j>1)j--;
for(int i=j; i>=1; i--)cout<<s[i];
return 0;
}