求助
  • 板块学术版
  • 楼主小小芒果王
  • 当前回复2
  • 已保存回复2
  • 发布时间2020/8/13 16:18
  • 上次更新2023/11/6 20:25:18
查看原帖
求助
343405
小小芒果王楼主2020/8/13 16:18

为什么这个不行 阶乘之和 萌新


#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;
}

2020/8/13 16:18
加载中...