1 import java.util.Scanner;
2
3
4 public class Main {
5 public static void main(String[] args) {
6 Scanner cin = new Scanner(System.in);
7 int n = cin.nextInt();
8 String num1 = "";
9 String num2 = "";
10 int m = 1;
11 while(m <= n){
12 num1 = cin.next();
13 num2 = cin.next();
14 int len1 = num1.length();
15 int len2 = num2.length();
16 int lenMin = len1 < len2 ? len1:len2;
17 int lenMax = len1 > len2 ? len1:len2;
18 char[] res = new char[lenMax+1];
19 //开始进位 为 0
20 int jinwei = 0;
21 //从两个字符串的尾部开始计算
22 for(int i = 1; i <= lenMin; i++){
23 int a = num1.charAt(len1 - i) - '0';
24 int b = num2.charAt(len2 - i) - '0';
25 if(a + b + jinwei <= 9){
26 //res 的长度为 lenMax
27 res[lenMax + 1 - i] = (char)(a + b + jinwei + '0');
28 jinwei = 0;
29 }
30 else{
31 res[lenMax + 1 - i] = (char)(a + b - 10 + jinwei + '0');
32 jinwei = 1;
33 }
34 }
35 //将长字符串的值赋给res
36 if(lenMax == len1){
37 for(int j = len1 - lenMin - 1; j >= 0;j--) {
38 int a = num1.charAt(j) - '0';
39 if( a + jinwei <= 9){
40 res[j+1] = (char)(a + jinwei + '0');
41 jinwei = 0;
42 }
43 else{
44 res[j+1] = (char)(a + jinwei - 10 + '0');
45 jinwei = 1;
46 }
47 }
48 }
49 else{
50 for(int j = len2 - lenMin - 1; j >= 0;j--) {
51 int a = num2.charAt(j) - '0';
52 if( a + jinwei <= 9){
53 res[j+1] = (char)(a + jinwei + '0');
54 jinwei = 0;
55 }
56 else{
57 res[j+1] = (char)(a + jinwei - 10 + '0');
58 jinwei = 1;
59 }
60 }
61 }
62 System.out.println("Case" + " " + m + ":");
63 if(jinwei == 1){
64 res[0] = '1';
65 System.out.println(num1 + " " + "+" + " " + num2 + " " + "=" + " " + String.valueOf(res));
66 }
67 else {
68 System.out.println(num1 + " " + "+" + " " + num2 + " " + "=" + " " + String.valueOf(res, 1, lenMax));
69 }
70 if(m < n){
71 System.out.println();
72 }
73 m++;
74 }
75 cin.close();
76 }
77 }

Java 大数加法HdAcm1002的更多相关文章

  1. hdu 1002 Java 大数 加法

    http://acm.hdu.edu.cn/showproblem.php?pid=1002 PE   由于最后一个CASE不须要输出空行 import java.math.BigInteger; i ...

  2. java实现大数加法、乘法(BigDecimal)

    之前写过用vector.string实现大数加法,现在用java的BigDecimal类,代码简单很多.但是在online-judge上,java的代码运行时间和内存大得多. java大数加法:求a+ ...

  3. 51 Nod 1005 大数加法【Java大数乱搞,python大数乱搞】

    1005 大数加法 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 给出2个大整数A,B,计算A+B的结果. Input 第1行:大数A 第2行:大数B (A,B的长度  ...

  4. Java实现大数加法运算的几种方法

    大数加法 思路一:定义String变量str1和str2分别存储输入的两个大数,定义num1[]和num2[]两个int型数组,将两个字符串分别逐个字符逆序存入数组,定义sum[]数组存放求和结果,使 ...

  5. Java实现 蓝桥杯VIP 算法提高 大数加法

    算法提高 大数加法 时间限制:1.0s 内存限制:256.0MB 问题描述 输入两个正整数a,b,输出a+b的值. 输入格式 两行,第一行a,第二行b.a和b的长度均小于1000位. 输出格式 一行, ...

  6. JAVA大数运算

    java大数是个好东西,用起来方便,代码短. 代码如下: import java.util.*; import java.math.*; public class Main { public stat ...

  7. HDU1002大数加法

    大数加法 c++版: #include <map> #include <set> #include <stack> #include <queue> # ...

  8. JAVA大数类练手

    今天突然看到了OJ上的大数类题目,由于学习了一点大数类的知识.果断水了6道题......都是非常基础的.就当的练手的吧. 学到的只是一些大数类的基本操作.以后多做点这样的题,争取熟练运用水大数题... ...

  9. 收藏的一段关于java大数运算的代码

    收藏的一段关于java大数运算的代码: package study_02.number; import java.math.BigDecimal; import java.math.BigIntege ...

随机推荐

  1. React事件绑定的方式

    一.是什么 在react应用中,事件名都是用小驼峰格式进行书写,例如onclick要改写成onClick 最简单的事件绑定如下: class ShowAlert extends React.Compo ...

  2. 简单设计一个onedata指标管理体系

    以阿里云的maxcompute的数据仓库架构为例, 从上往下定义, dwp的数据,来源是dws+dim,最主要是dws.这里不讨论dim的作用. dws的数据来源于dwd. dwd的数据来源于ods. ...

  3. Java多线程系列-基本概念

    Java的线程基本用法 创建线程 创建线程的方法: 实现Runnable接口 首先我们查看Runnable接口的定义: package java.lang; @FunctionalInterface ...

  4. apt-key Debian packages密钥管理命令

    adv子命令 Pass advanced options to gpg. With adv --recv-key you can e.g. download key from keyservers  ...

  5. 面试问题记录 二 (数据库、Linux、Redis)

    面试问题记录 二 (数据库.Linux.Redis) 前言 接着上次的面试问题记录,在最后还有几道问的数据结构方面的知识点要补充 还是那句话:如果文中解释有明显错误,劳烦请及时指正我,在这不胜感激!! ...

  6. 最长公共子序列问题(LCS)——Python实现

      # 最长公共子序列问题 # 作用:求两个序列的最长公共子序列 # 输入:两个字符串数组:A和B # 输出:最长公共子序列的长度和序列 def LCS(A,B): print('输入字符串数组A', ...

  7. jvm源码解读--09 创建oop对象,将static静态变量放置在oop的96 offset处 第二篇

    先打断点systemDictionary.cpp 1915行 Universe::fixup_mirrors(CHECK); 进入 void Universe::fixup_mirrors(TRAPS ...

  8. tp phpexcel 导入后台访问方法

    public function addall(){ $Water = M('Waterrate'); $config = array( 'maxSize' => 0, 'rootPath' =& ...

  9. 实现html页面转pdf

    实现方式比较简单,使用js代码实现的. 需要引入的js: 1.jQuery.js: 2.html2canvas.js(实现方式是先将Html页面转换成image图片然后在转换为pdf,所以转换之后会有 ...

  10. Windows系统安装Mariadb数据库(zip包方式安装)--九五小庞

    1.去Mariadb官网下载zip安装包 下载地址:https://downloads.mariadb.org/mariadb/10.3.31/ 2.解压压缩包到指定的安装位置 3.在安装包的data ...