什么格式的变量可以装下50亿的阶乘?

来源:百度知道 编辑:UC知道 时间:2024/06/20 12:36:00
什么格式的变量可以装下50亿的阶乘?

不可能有单个变量可以表示那么大的数的.

一般要计算它的精确值的话,是用数组模拟进位系统,同特殊的算法进行计算,50亿阶乘很大,我估计就算有这样的程序可以计算,怎么也要半小时吧

如果是算近似值就快多了,基本上一小会就出来了,用的是科学计数的方法

科学记数法计算近似值 ...

什么样的变量也存不了那么大的数 ...

求大数字的阶乘,这是我们上学的时候系里编程比赛的一道题,我当时比较小白,直接定义了一个树就循环算了,出来以后,同学告诉我,那个数已经超出边界了,需要用数组装数,当然计算方法我觉得参考计组中的ALU乘法原理,转化成加法作就可以了,至于50亿这么大的数,用数组估计都比较麻烦,不如用个链表之类的东西。

高精度算法。用高精度的方法,程序设计教程中都有写的。

用数组的方法来存储。。
以下是本人对大数阶乘的研究:
一个学计算机的哥们问的问题,用数组求阶乘。。。即为了避免溢出、以及显示出阶乘的每一位结果。。
经过思考,我觉得用矩阵相乘的原理来作比较简单。。
下面是在 Matlab 中写的求阶乘的代码:
function JC(n)
A=1;
q=1;
for i=1:1:n
tmp=i;
p=0;
z=0;
while tmp>0
p=p+1;
B(p)=tmp-fix(tmp/10)*10;
tmp=fix(tmp/10);
end
bb=zeros(1,p);
for ii=1:1:p
bb(p+1-ii)=B(ii);
end
for jj=1:1:p
B(jj)=bb(jj);
end
H=zeros(p,p+q-1);
for a=1:1:p
for b=1:1:q