A+B Problem IV
时间限制:1000 ms | 内存限制:65535 KB
难度:3
-
描述
-
acmj最近发现在使用计算器计算高精度的大数加法时很不方便,于是他想着能不能写个程序把这个问题给解决了。
-
输入
-
包含多组测试数据
每组数据包含两个正数A,B(可能为小数且位数不大于400)
输出 - 每组输出数据占一行,输出A+B的结果,结果需要是最简的形式。 样例输入
-
1.9 0.1 0.1 0.9 1.23 2.1 3 4.0
样例输出 -
213.337
-
c.compareTo(BigDecimal.ZERO)==0 高精度 与 0 比较
-
这题很好,尤其是判断 -0.1 + 0.1 = 0时
-
import java.io.*; import java.util.*; import java.math.*; public class Main{ public static void main(String[] args){ Scanner cin = new Scanner(System.in); BigDecimal a , b ,c; while(cin.hasNextBigDecimal()){ a = cin.nextBigDecimal(); b = cin.nextBigDecimal(); c = a.add(b); if(c.compareTo(BigDecimal.ZERO)==0) System.out.println(0); else System.out.println(c.stripTrailingZeros().toPlainString()); //stripTrailingZeros()函数能将1.0变为1 } } }
-
包含多组测试数据