RE怎么办

P1009 [NOIP1998 普及组] 阶乘之和

zhukexv @ 2024-04-14 20:58:06

#include<bits/stdc++.h>
using namespace std;
int n,s[101],a[71],m;
int cf(int b){
    for(int i=0;i<70;i++){
        a[i]*=b;
    }
    for(int i=0;i<70;i++){
        a[i+1]+=(a[i]/10);
        a[i]%=10;
    }
}
void jf(){
    for(int i=0;i<70;i++){
        s[i]+=a[i];
        s[i+1]+=(s[i]/10);
        s[i]%=10;
    }
}
int main(){
    cin>>n;
    a[0]=1;
    for(int i=1;i<=n;i++){
        cf(i);
        jf();
    }
    int len=100;
    while(s[len]==0){
        len--;
    }
    for(int i=len;i>=0;i--){
        cout<<s[i];
    }
    return 0;
}

by Terrible @ 2024-04-14 21:00:19

@zhukexv int cf 改成 void cf

void 函数必须有明确返回值,你要么改函数返回值类型,要么加上返回值。

如果你开 O2 的话,非 void 函数会编译出来 BUG。


by zhukexv @ 2024-04-14 21:06:03

@Terrible 谢谢


by like_1999 @ 2024-04-15 15:46:39

@zhukexv cai jiu duo lian


by zhukexv @ 2024-04-15 21:09:51

@chenzixuan49 r n m


|