为什么这个不行 阶乘之和 萌新
#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;
}