求助
  • 板块灌水区
  • 楼主高启凯
  • 当前回复0
  • 已保存回复0
  • 发布时间2022/9/3 13:24
  • 上次更新2023/10/27 12:43:39
查看原帖
求助
736701
高启凯楼主2022/9/3 13:24
#include<bits/stdc++.h>
using namespace std;
int b,c[5010]={0,1},s[10000],m,cnt=1;
void ADD(){
    for (int i=cnt;i>=1;i--) {
        s[i]+=c[i];
    }
    for(int i=cnt;i>=1;i--){
        s[i+1]=s[i]/10;
        s[i]%=10;
    }
    if (s[cnt+1])
        cnt++;
}
void MUL(int x){
    for(int j=1;j<=cnt;j++){
        c[j]=c[j]*x;
    }
    for(int i=cnt;i>=1;i--){
        c[i+1]+=c[i]/10;
        c[i]=c[i]%10;
    }
    while(s[cnt]!=0)    
        cnt++;
}
int main(){
    cin>>m;
    for(int i=1;i<=m;i++){
        MUL(i);
        ADD();
    }
    for(int i=1;i<=cnt;i++){
        cout<<s[i];
    }
}

阶乘之和 0 Dalao帮忙看看悲

2022/9/3 13:24
加载中...