A+B Problem IV

描述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
 1 import java.math.BigDecimal;
 2 import java.math.BigInteger;
 3 import java.util.Scanner;
 4
 5 public class Main {
 6     public static void main(String[] args) {
 7         Scanner scanner=new Scanner(System.in);
 8         BigDecimal a;
 9         BigDecimal b;
10         String s;
11         String words[];
12
13         while(scanner.hasNext()){
14             a=scanner.nextBigDecimal();
15             b=scanner.nextBigDecimal();
16             s=a.add(b).toString();
17             words=s.split("\\.");
18             System.out.print(words[0]);
19
20             if(s.contains(".")){
21                 words[1]=new StringBuffer(words[1]).reverse().toString();
22                 words[1]=words[1].replaceAll("^(0*)","");
23                 words[1]=new StringBuffer(words[1]).reverse().toString();
24
25                 if(words[1].compareTo("")!=0)
26                     System.out.print("."+words[1]);
27             }
28             System.out.println();
29         }
30
31     }
32 }
 
时间: 2024-10-27 06:58:56

A+B Problem IV的相关文章

nyoj A+B Problem IV

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 测试数据都对,又在网上找了别人说

nyoj 513 A+B Problem IV 【Java大数】

这道题有点小坑.. 特殊数据 输入 0.0 0.0 输出 0 代码: import java.util.Scanner; import java.math.*; public class Main{ public static void main(String[] args){ Scanner cin = new Scanner(System.in); BigDecimal a, b, temp; temp = new BigDecimal("0.0"); while(cin.hasN

链表翻转系列

Problem I 翻转链表 程序(简洁版) 非递归 ListNode reverseList(ListNode head) { ListNode pre = null; ListNode cur = head; while (cur != null ) { ListNode next = cur.next; cur.next = pre; pre = cur; cur = next; } return pre; } Problem II: Swap Nodes in Pairs Given a

【南阳OJ分类之大数问题】题目+AC代码汇总

声明:题目部分皆为南阳OJ题目,代码部分包含AC代码(可能不止一个)和标程. 由于大数问题用c/c++写比较麻烦,而Java的大数类又很好用,所以基本为java代码.实际上竞赛很少会考大数问题,因为竞赛是比的算法,而不是语言特性,不过很多都是大数据,数据上千万级别的,所以算法又很关键,显然那和这篇博客也没啥关系. 题目不是太难,大家和本人就权当学习或复习下Java吧O(∩_∩)O~. 该分类南阳oj地址:http://acm.nyist.edu.cn/JudgeOnline/problemset

Problem D: 类的初体验(IV)

Description 定义一个类Data,只有一个int类型的属性和如下方法: 1.   缺省构造函数,将属性初始化为0,并输出"Data's default constructor.". 2.  带参构造函数,将属性初始化为指定参数,并输出"Data # is created.",其中"#"即参数值. 3. 析构函数,输出:"Data # is erased.",其中"#"是属性值. 4.   int

Problem D: 平面上的点和线——Point类、Line类 (IV)

Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定,两点确定一条线段.现在我们封装一个"Point类"和"Line类"来实现平面上的点的操作. 根据"append.cc",完成Point类和Line类的构造方法和show()方法,输出各Line对象和Point对象的构造和析构次序. 接口描述: Point::show()方法:按格式输出Point对象. Line::show()方法:按格式输出Line对象.

Problem D: 平面上的点——Point类 (IV)

Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定.现在我们封装一个"Point类"来实现平面上的点的操作. 根据"append.cc",完成Point类的构造方法和show().showCounter().showSumOfPoint()方法:实现showPoint()函数. 接口描述: showPoint()函数:按输出格式输出Point对象,调用Point::show()方法实现. Point::show()方法:按输出格

hdu 1092 A+B for Input-Output Practice (IV)

A+B for Input-Output Practice (IV) Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 90793    Accepted Submission(s): 48215 Problem Description Your task is to Calculate the sum of some integers.

Ignatius and the Princess IV

Ignatius and the Princess IV Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32767 K (Java/Others)Total Submission(s): 24410    Accepted Submission(s): 10261 Problem Description "OK, you are not too bad, em... But you can never pass the