标签:style blog current show 输入 cst param include 表示
用高精度计算出S=1!+2!+3!+…+n!(n≤50)
其中“!”表示阶乘,例如:5!=5*4*3*2*1。
输入正整数N,输出计算结果S。
5
153
代碼實現:
1 #include<cstdio> 2 int n,a,ans[60000],fz[50000],jc[50000]={1,1}; 3 int main(){ 4 scanf("%d",&n); 5 for(int i=1;i<=n;i++){ 6 for(int j=1;j<=jc[0];j++){ 7 jc[j]=jc[j]*i+fz[j];fz[j]=0; 8 if(jc[j]>9){ 9 fz[j+1]+=jc[j]/10; 10 jc[j]%=10; 11 if(j==jc[0]) ++jc[0]; 12 } 13 } 14 if(jc[0]>ans[0]) ans[0]=jc[0]; 15 for(int i=1;i<=ans[0];i++){ 16 ans[i]+=jc[i]; 17 if(ans[i]>9){ 18 ans[i+1]+=ans[i]/10; 19 ans[i]%=10; 20 if(i==ans[0]) ++ans[0]; 21 } 22 } 23 } 24 for(int i=ans[0];i>0;i--) printf("%d",ans[i]); 25 printf("\n"); 26 return 0; 27 }
。。。
标签:style blog current show 输入 cst param include 表示
原文地址:http://www.cnblogs.com/J-william/p/6155829.html