永发信息网

C语言高精度求阶乘,书中例子看不懂,acm菜鸟求救!!!!

答案:1  悬赏:10  手机版
解决时间 2021-03-31 21:12
C语言高精度求阶乘,书中例子看不懂,acm菜鸟求救!!!!
最佳答案
#include
#include
const int maxn=3000;
int f[maxn]; //用int 数组来存储 每一位的数值  如 123 则存储 为 {3,2,1,0...0}  存储方式是倒序的 根据代码看出来的
int main()
{
    int i,j,n;  //i,j为普通迭代变量 n 为求解的 n! 中的 n
    scanf("%d",&n);   
memset(f,0,sizeof(f));   
    f[0]=1;         //因为以后要用乘法 这里的个位 
    for(i=2;i<=n;i++)  // 重 n!中的 2 开始乘 直到n
    {
        int c=0;    //进位为0 
        //下面是一个大数乘法
        for(j=0;j        {
            int s=f[j]*i+c;  // 每一位都乘 i
            f[j]=s%10;          //每一位都只留下 个位数
            c=s/10;         //记下 进位的值 算到下一位的时候 加上
        }
    }
    //下面是输出大数
    for(j=maxn-1;j>=0;j--)
    if(f[j]) break;             //重最后都是0部分 用j记下第一个不是0 位数 集 最高位
    for(i=j;i>=0;i--)
    printf("%d",f[i]);      //重最高位 j 开始到 0 输出 每位数 

    return 0;
    // 结束
    //ps:  这道题只要明白 大数的乘法 就行了 其他部分都很简单的 
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
古代用针扎人的那种叫什么?
记忆深处这首曲,到底是胡彦斌作的,还是魏小
单选题原尿和尿液形成的部位分别是A.肾小球和
短信中心不存在是什么意思
横店2018春游有哪些好玩的活动
请好好珍惜这几种男生
明芝香油坊在哪里啊,我有事要去这个地方
薇姿控油保湿晚霜怎么样?
一切经音义的主要定义
What makes you beautiful空间歌曲链接
幻影纹章 双平台可以切换登录么
想贫就贫:小辈不尊重长辈,想指责就指责
有线USB网卡比有线PCI网卡速度慢吗?
人吹出二氧化碳气体为什么柴火速燃
如意宾馆(榆林米脂县)地址有知道的么?有点事
推荐资讯
怎样利用光的折射原理叉鱼?
谁有迅雷游戏充值五元或者十元代金券的?急用
卓雪峰用英文怎么写
请问这个画漫画的是什么笔?【有截图】
小学数学5年级实践园地下册父亲是儿子的9倍.
路灯施工属于市政公用工程还是机电设备安装工
游泳喝白开水还是盐水
中国有五个大岛分别是什么?
铃声多多怎么设置铃声
听说阜成门早餐挺好有油饼、老豆腐、大包子…
配管长度如何计算
顺达快速学车(佛山顺德)地址在什么地方,我要
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?