高精度算法笔记——计算10000以内n的阶乘

思路很简单,主要是中间的乘法部分,注意进位的地方,不一定进位是一,所以你加进位的时候要注意加的是c[i]/10,而不能只加1哦

来看看计算阶乘部分的代码

    cout<<"n="<<n<<endl;
        for(int i=0;i<=lenc;i++){
            c[i]*=n;
        }
    //    cout<<"c[0]="<<c[0]<<endl;
        for(int i=0;i<=lenc;i++){
            if(c[i]>=10){
                c[i+1]+=c[i]/10;//就是这里,加的时候要注意
                c[i]%=10;
                if(i==lenc) lenc++;
            }    
        }    
        n--; 
    }

感觉这几天已经比较熟悉高精度计算了,还需努力

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值