25分C代码求助!

P1009 [NOIP1998 普及组] 阶乘之和

# 能看懂不 ```#include<bits/stdc++.h> using namespace std; int main() { int i,a[1005]={0},b[1005]={0},n,j; scanf("%d", &n); a[0]=b[0]=1; for (int i=2;i<=n;i++) { for (j=0;j<101;j++) b[j]*=i; for (j=0;j<101;j++) if (b[j]>9) { b[j+1] += b[j]/10; b[j]%=10; } for (j=0;j<100;j++) { a[j]+=b[j]; if (a[j]>9) { a[j+1] += a[j]/10; a[j]%=10; } } } for (i=100;i>=0&&a[i]==0;i--); for (j=i;j>=0;j--) printf("%d", a[j]); return 0; }
by 09rxq @ 2024-03-01 13:24:44


|