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命令行下进行。