第4个点WA 看不出来哪里的问题

P1009 [NOIP1998 普及组] 阶乘之和

Lolitan @ 2024-09-18 21:25:50

第4次写高精度 不熟练(悲)


#include<bits/stdc++.h> 
using namespace std;
int n,num[100000],ans[100000];
int main(){
    cin>>n;
    num[1]=1;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++)
            num[j]*=i;
        for(int j=1;j<=100000;j++)
            if(num[j]>9){
                num[j+1]+=num[j]/10;
                num[j]%=10;
            }
        for(int j=1;j<=100000;j++){
            ans[j]+=num[j];
            if(ans[j]>9){
                ans[j+1]+=ans[j]/10;
                ans[j]%=10;
            }
        }
    }
    int i=100000;
    while(i){
        if(ans[i]==0){
            i--;
        }else{
            break;
        }
    }
    for(int j=i;j>=1;j--){
        cout<<ans[j];
    }
    return 0;
}

by _luogu_huowenshuo_ @ 2024-09-28 11:26:06

@Lolitan py大法好:

n=eval(input()) 
ans=0        
for i in range(1,n+1):
    d=1       
    for j in range(1,i+1):
        d*=j      
    ans+=d       
print(ans)       

验证码AKZW祭


|