频道栏目
首页 > 资讯 > C语言 > 正文

C语言 求一个大数的阶乘

12-10-08        来源:[db:作者]  
收藏   我要投稿
C语言 求一个大数的阶乘
[cpp] 
void BigFactorial(int m) 

    static int a[50000]={0,1};//第一位不用 
    int i,j,carry,tmp,lenth=1;//carry表示进位 
     
    for (i=2;i<=m;i++) 
    { 
        carry=0; 
        for (j=1;j<=lenth;j++) 
        { 
            //乘法转化为加法和进位 
            tmp=a[j]*i+carry; 
            a[j]=tmp%10; 
            carry=tmp/10; 
 
            //如果有进位,则向前扩展一位 
            if (j==lenth&&carry!=0) 
                lenth++; 
        } 
    } 
    for(int k=lenth;k>=1;k--) 
        printf("%d",a[k]); 

下面计算1000的阶乘:
相关TAG标签
上一篇:在有ipv6接入环境下优先使用ipv4
下一篇:linux命令中有特殊符号解决方法
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站