HDU1753 大明A+B(大数相加)(Java题解)

大明A+B

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 16499    Accepted Submission(s): 6082

Problem Description

话说,经过了漫长的一个多月,小明已经成长了许多,所以他改了一个名字叫“大明”。
这时他已经不是那个只会做100以内加法的那个“小明”了,现在他甚至会任意长度的正小数的加法。
现在,给你两个正的小数A和B,你的任务是代表大明计算出A+B的值。

Input

本题目包含多组测试数据,请处理到文件结束。
每一组测试数据在一行里面包含两个长度不大于400的正小数A和B。

Output

请在一行里面输出输出A+B的值,请输出最简形式。详细要求请见Sample Output。

Sample Input


1.1 2.9
1.1111111111 2.3444323343
1 1.1

Sample Output


4
3.4555434454
2.1

代码如下:

import java.math.BigDecimal;
import java.math.*;
import java.util.Scanner;
public class Main{
 public static void main(String[] args){
 Scanner scan=new Scanner(System.in);
 BigDecimal a=new BigDecimal("0");
 BigDecimal b=new BigDecimal("0");
 while(scan.hasNext()){
 a=scan.nextBigDecimal();
 b=scan.nextBigDecimal();
 System.out.println(a.add(b).stripTrailingZeros().toPlainString());
   }
  }
}

原文地址:https://www.cnblogs.com/jianqiao123/p/11202551.html

时间: 2024-07-29 13:08:11

HDU1753 大明A+B(大数相加)(Java题解)的相关文章

字符串模拟大数相加——Java实现

本题是CVTE二面编程题,首先考虑返回值肯定是一个字符串(int会有溢出可能),并且两个字符串只含数字,不含"+"."-"这种. 代码如下: 1 public static String add(String str1, String str2) { 2 if(str1 == null) 3 return str2; 4 if(str2 == null) 5 return str1; 6 StringBuffer s1 = new StringBuffer(str1

大明A+B(hdu1753)大数,java

大明A+B Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 8483 Accepted Submission(s): 3000 Problem Description 话说,经过了漫长的一个多月,小明已经成长了许多,所以他改了一个名字叫“大明”.这时他已经不是那个只会做100以内加法的那个“小明”了,现在他甚至会任意长度的正小数的加法. 现在,

HDU 1250 Hat's Fibonacci(Java大数相加)+讲解

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1250 Problem Description A Fibonacci sequence is calculated by adding the previous two members the sequence, with the first two members being both 1. F(1) = 1, F(2) = 1, F(3) = 1,F(4) = 1, F(n>4) = F(n -

POJ 1503 Integer Inquiry(大数相加,java)

题目 我要开始练习一些java的简单编程了^v^ import java.io.*; import java.util.*; import java.math.*; public class Main { /** * @param args */ public static void main(String[] args) throws Exception { // 定义并打开输入文件 Scanner cin = new Scanner(System.in); BigInteger a, sum

Java之大数相加

之前参加某公司笔试,机试题目是大数相加,两大数是字符串形式,求和. 当时讨巧用的是BigDecimal类,但是发迷糊了,以为b1.add(b2)后,和就加到b1上了,结果一直输出不对. 其实应该是这样: private static void add2Sum(String s1, String s2) { System.out.println("-----------"); BigDecimal b1 = new BigDecimal(s1); BigDecimal b2 = new

hdu acm-1047 Integer Inquiry(大数相加)

Integer Inquiry Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 11678    Accepted Submission(s): 2936 Problem Description One of the first users of BIT's new supercomputer was Chip Diller. He ex

HDU 1047。多个大数相加

Integer Inquiry Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 13496    Accepted Submission(s): 3390 Problem Description One of the first users of BIT's new supercomputer was Chip Diller. He e

栈的应用—大数相加

package org.Stone6762.MStack.adopt;    import java.util.Scanner;    import org.Stone6762.MStack.imple.LinkStack;    /**  * @author_Stone6762  * @Description_大数相加  * */  public class BigAdd {        /**      * @Describe_将表示数字的字符串从高位到低位的形式压入栈_并去除其中的空格 

ACM——大数相加

大数加法 时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte 总提交:2085            测试通过:543 描述 求两个非负整数(1000位以内)的和. 输入 两个非负整数(1000位以内),以空格分隔. 输出 两个非负整数的和. 样例输入 111111111111 222222222222 样例输出 333333333333 提示 题目来源 GUOJ #include<iostream> #include<strin

大数相乘和大数相加。

/* *大数相乘 求n的阶乘. */ import java.math.BigInteger;import java.util.Scanner; public class BigMultiply { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); System.out.println(calcM(N)); } public static Stri