a=xxxxxxx; b=xxxxxxx(即a,b为任意数)如果a直接乘以b可能会溢出,请用java写一个算法计算a*b;

来源:百度知道 编辑:UC知道 时间:2024/09/23 20:22:15
请各位高手多指点

int a, b;
BigInteger biga = new BigInteger(a);
BigInteger bigb = new BigInteger(b);
BigInteger c = new BigInteger();
c = biga.mul(bigb);
System.out.printline(c.toString());

Java写高精度很容易

把a,b两个看成字符串 找到长度其中一个最小的,用他分别去乘b的每一位,把每个结果放到一个数组,然后数组从第一位乘10的i次方 把结果相加就可以了,这样效率相当于高点