日期:2014-05-20  浏览次数:20863 次

求50000的阶乘要求速度和性能
如题

------解决方案--------------------
50000??要这么大数的阶乘做什么啊?
------解决方案--------------------
楼主去这个帖子看以下吧!
绝对有用的:
“擂台赛:计算n!(阶乘)的精确值,速度最快者2000分送上(续)”

http://topic.csdn.net/t/20031105/00/2427925.html

50楼后就是代码分析了
------解决方案--------------------
表示的问题就很麻烦, 用 BigDec..?

------解决方案--------------------
他那个程序,在关键的地方采用了汇编,从而是速度和效率提高了很多,
楼主看一下吧!

------解决方案--------------------

------解决方案--------------------
...用BigInteger到5000+ 就溢了
------解决方案--------------------
不会,帮忙顶,大家共同努力,把问题解决~
------解决方案--------------------
用java编了个程序,10000!就用了15秒。50000!算不出来。
------解决方案--------------------
呵呵,amd3000+、1G内存,计算50000!用了379093毫秒。

实在佩服只用十几秒的强人。


------解决方案--------------------
你用什么来存放那么大的值啊
------解决方案--------------------
不好做
要好的算法才行吧。。。
------解决方案--------------------
新手弱弱的问一句:

关于这些死规则下的单一运算,难道业内还没有成现成的结论吗?
如果在项目中遇到大数据的科学计算 是不是可以通过数学建模 转移计算量呢?
------解决方案--------------------
http://topic.csdn.net/t/20020111/14/471898.html#,你可以参考一下
------解决方案--------------------
Java code

import java.math.BigInteger;
public class TestCheng{
    public void testCheng(){
        BigInteger big = new BigInteger("1");
        for(int i=1;i<=50000;i++){
            big = big.multiply(new BigInteger(""+i));
        }
        System.out.println(big.toString());
    }
    public static void main(String[] args){
        new TestCheng().testCheng();
    }
}

------解决方案--------------------
看似简单的问题背后的趣味不减啊 刚刚看到一篇讲的可以。
 高精度快速阶乘算法 :
http://dev.csdn.net/article/29/29226.shtm
------解决方案--------------------
关注一下~
------解决方案--------------------
可以算出结果
结果到word文档 小5字体 10页多一点
------解决方案--------------------
http://www.java2000.net


里面有!