加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

精度计算-大数阶乘-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; } 

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读