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
样例输出
-
2 1 3.33 7
来源
- hdu
-
包含多组测试数据
import java.math.BigDecimal;
import java.util.Scanner;
public class NYOJ513 {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
while (cin.hasNext()) {
BigDecimal a = cin.nextBigDecimal();
BigDecimal b = cin.nextBigDecimal();
BigDecimal c = a.add(b);
System.out.println(sw(c.toString()));
}
}
static String sw(String s) {
if (s.indexOf(".") > 0) {
s = s.replaceAll("0+?$", "");// 把末尾的“0”全替换成空
s = s.replaceAll("[.]$", "");// 把末尾的“。”全替换成空
}
return s;
}
}
第二次用正则表达式
提交时toString方法比直接加""快