```
#include<bits/stdc++.h>
using namespace std;
int a[40005],sum[40005];
int main(){
int n,len=1,lensum=1;
cin>>n;
a[0]=1;
for(int k=1;k<=n;k++){
for(int i=0;i<len;i++){
a[i]*=k;
}
for(int i=0;i<len;i++){
a[i+1]+=a[i]/10;
a[i]%=10;
}
while(a[len]){
a[len+1]+=a[len]/10;
a[len]%=10;
len++;
}
lensum=max(lensum,len);
for(int i=0;i<lensum;i++){
sum[i]+=a[i];
}
for(int i=0;i<lensum;i++){
sum[i+1]+=sum[i]/10;
sum[i]%=10;
}
while(sum[lensum]){
sum[lensum+1]+=sum[lensum]/10;
sum[len]%=10;
lensum++;
}
}
for(int i=lensum-1;i>=0;i--){
cout<<sum[i];
}
return 0;
}
```
by __Aaaaaaaa @ 2024-04-16 20:47:25
@[jiang_nian_qi](/user/1224735) 第 34 行,sum[len] %= 10 改成sum[lensum] %= 10。
第 40 行,sum[len] %= 10 改成 sum[lensum] %= 10。这样应该就可以AC了
by SiuuuCR7 @ 2024-04-16 21:07:50