[关闭]
@laofang 2016-06-13T02:19:10.000000Z 字数 644 阅读 1011

JAVA BigInteger 解决高精度问题

java


Description
给定任意两个高精度正整数a、b,计算a与b的乘积。
Input
输入文件中有若干行,每一行上有两个用字符串表示的正整数a,b。
输入直到文件结束。
Output
对每个输入行上的两个正整数a,b,在一行上先输出形式a*b=,接着输出a与b的积。
Sample Input
12345 6788466
345 66
Sample Output
12345*6788466=83803612770
345*66=22770

  1. import java.math.BigInteger;
  2. import java.util.*;
  3. public class Main {
  4. public static void main(String[] args) {
  5. Scanner scanner = new Scanner(System.in);
  6. while(scanner.hasNext()){
  7. //这里一开始用BigInteger a = BigInteger.nextLong();--结果测试数据long根本装不下
  8. String[] startin = scanner.nextLine().split("[\\p{Blank}]+");
  9. BigInteger a = new BigInteger(startin[0]);
  10. BigInteger b = new BigInteger(startin[1]);
  11. BigInteger s = a.multiply(b);
  12. System.out.println(a+"*"+b+"="+s);
  13. }
  14. }
  15. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注