java的大数BigInteger可以存到50000位数么?题目是计算a+b+c的值,每个数的位数可达50000.
import java.io.*;
import java.math.BigInteger;
import java.util.*;
public class Main {
public static void main(String args[])
{
Scanner cin=new Scanner(System.in);
while(cin.hasNext())
{
BigInteger a,b,c;
a=cin.nextBigInteger();
b=cin.nextBigInteger();
c=cin.nextBigInteger();
a=a.add(b);
a=a.add(c);
System.out.println(a);
}
}
}代码提交到oj上是system error!

解决方案 »

  1.   

    你不如直接用long了
      

  2.   

    是啊,哈哈,估计java的biginteger 是存不下了??
      

  3.   

    没有的,看我的java代码就知道没有输入字母啊~233
      

  4.   

    还是转string存放吧,可以拆分 成long可以存放的 分来位数累加,最后拼接
      

  5.   

    BitInteger内部的mag数组最大长度,
    private static final int MAX_MAG_LENGTH = Integer.MAX_VALUE / Integer.SIZE + 1; // (1 << 26)
    数组每一个元素都可以表达int的最大值,好像是10位,10乘以上面的MAX_MAG_LENGTH就是能表达的最大位数,
    5w肯定是有的
      

  6.   

    理论上,biginteger可以进行无限位的存储与运算,但是实际上受你的计算机内存和计算能力影响
      

  7.   

    50000位,只能借助于大数运算,就是用String来模拟数字运算。