精度计算-大数阶乘-ACM常用算法
发布时间:2020-12-14 02:09:30 所属栏目:大数据 来源:网络整理
导读:语法? int?result=factorial(int?n); 参数: n : n? 的阶乘 返回值: 阶乘结果的位数 注意: ? ? 本程序直接输出 n! 的结果,需要返回结果请保留 long?a[] ?inlclude math.h 源程序: ? int factorial( int n) { long a[ 10000 ]; int i,j,l,c,m= 0 ,w; a[
语法? int?result=factorial(int?n); 参数: n: n?的阶乘 返回值: 阶乘结果的位数 注意: ? ? 本程序直接输出n!的结果,需要返回结果请保留long?a[] ?inlclude <math.h> 源程序: ? int factorial(int n) { long a[10000]; int i,j,l,c,m=0,w; a[0]=1; for(i=1;i<=n;i++) { c=0; for(j=0;j<=m;j++) { a[j]=a[j]*i+c; c=a[j]/10000; a[j]=a[j]%10000; } if(c>0) {m++;a[m]=c;} } w=m*4+log10(a[m])+1; printf("n%ld",a[m]); for(i=m-1;i>=0;i--) printf("%4.4ld",a[i]); return w; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |