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

100个BigInteger相乘,怎么死循环了?
100个BigInteger相乘,怎么死循环了?

Java code
BigInteger a = BigInteger.valueOf(10);
for(int i = 1; i<=100; i++)
    a = a.multiply(a);
System.out.println(a);


------解决方案--------------------
太大了结果就溢出为负了
------解决方案--------------------
没死吧,算得比较慢,多等会儿
------解决方案--------------------
API上说明是不可变的任意精度的整数,可能不会溢出,有可能像2楼说的算的太慢了
------解决方案--------------------
那么大的数乘你的弄个超级计算机来
------解决方案--------------------
10的2^100次方
不知道要算多久
CPU没爆吧?

------解决方案--------------------
a = a.multiply(i);//10 * 100!
------解决方案--------------------
内存溢出
------解决方案--------------------
下次这样的情况,你看是数据太大或者是死循环,你试试较小点的数不就知道?
------解决方案--------------------
10的2^100次方,这数也太大了吧
------解决方案--------------------
真不知道要算多久
------解决方案--------------------
只会是内存溢出。电脑超负荷运算
------解决方案--------------------
你的电脑要爆炸了 - -
------解决方案--------------------
大数据的计算在linux命令行下进行。