永发信息网

c++求大数的阶乘要求精确值

答案:2  悬赏:20  手机版
解决时间 2021-11-13 13:20
c++求大数的阶乘要求精确值
最佳答案
long int fun(int i)
{
long int sum = 1;
while(i>=1){

sum*=i;

i--;}

return sum;

}追问unsigned long long才只能算到65!,long不够。。追答你要多大的阶乘,100的阶乘怎么输出啊,而且我不知道内存中会不会因为你的这个大数据把系统给整崩溃了,呵呵。
全部回答
#include 
void BigFactorial(int m)
{
    static int a[50000]={0,1};//第一位不用
    int i,j,carry,k,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++;
        }
    }
    printf("%d的阶乘:       位数:%d  ",m,lenth);

    for(k=lenth;k>=1;k--)
        printf("%d",a[k]);
}
int main()
{
    BigFactorial(1000);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
女孩子主动陪我看电影
贷款买的汽车第二年的保险可以在外面买吗
科隆威回流炉第八温区马达烧了,但想要正常临
我已经接到墨大的OFFER了..可是情况有点不同.
诡案组读后感800字,文采不用太好,谢谢,在
已知函数f(x)=mx+n/1+x²是定义在[-1
能说说李长亮老师佛学讲的怎么样吗?我想了解
玉溪烟16支小铁盒、多少钱
0.5molNH3中,有多少mol N,多少mol H,多少
思科路由器 远程登录是现实的警告信息 怎么设
求两张3d室内效果图
四十岁多岁的女人适合什么眼霜
书渴(舒婷)阅读答案 急~
干响螺片吃了有什么功效呢?
东乡农商银行atm地址有知道的么?有点事想过
推荐资讯
机票出票时间是什么意思
丰台区泉湖西路一号怎么坐地铁
140期,藏宝图,高手进
2017年以后村支部还选村支书吗
金泰吴是金钟仁弟弟吗
异地恋女友跟别人上床了,我要不要原谅她?
仙剑五 为什么我和酒商对话没提示呢
鑫苑二七鑫中心(商住楼)怎么样?好不好?值不
魔兽世界6.0毁灭者多佛多久刷新
电工里的PH是什么意思
我认识女朋友1年,当时她163cm。140斤。现在1
请问二进制数1234对应的十进制数是多少呢?请
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?