P1009

灌水区

``` #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


|