Java 大数加法HdAcm1002
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的更多相关文章
- hdu 1002 Java 大数 加法
http://acm.hdu.edu.cn/showproblem.php?pid=1002 PE 由于最后一个CASE不须要输出空行 import java.math.BigInteger; i ...
- java实现大数加法、乘法(BigDecimal)
之前写过用vector.string实现大数加法,现在用java的BigDecimal类,代码简单很多.但是在online-judge上,java的代码运行时间和内存大得多. java大数加法:求a+ ...
- 51 Nod 1005 大数加法【Java大数乱搞,python大数乱搞】
1005 大数加法 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 给出2个大整数A,B,计算A+B的结果. Input 第1行:大数A 第2行:大数B (A,B的长度 ...
- Java实现大数加法运算的几种方法
大数加法 思路一:定义String变量str1和str2分别存储输入的两个大数,定义num1[]和num2[]两个int型数组,将两个字符串分别逐个字符逆序存入数组,定义sum[]数组存放求和结果,使 ...
- Java实现 蓝桥杯VIP 算法提高 大数加法
算法提高 大数加法 时间限制:1.0s 内存限制:256.0MB 问题描述 输入两个正整数a,b,输出a+b的值. 输入格式 两行,第一行a,第二行b.a和b的长度均小于1000位. 输出格式 一行, ...
- JAVA大数运算
java大数是个好东西,用起来方便,代码短. 代码如下: import java.util.*; import java.math.*; public class Main { public stat ...
- HDU1002大数加法
大数加法 c++版: #include <map> #include <set> #include <stack> #include <queue> # ...
- JAVA大数类练手
今天突然看到了OJ上的大数类题目,由于学习了一点大数类的知识.果断水了6道题......都是非常基础的.就当的练手的吧. 学到的只是一些大数类的基本操作.以后多做点这样的题,争取熟练运用水大数题... ...
- 收藏的一段关于java大数运算的代码
收藏的一段关于java大数运算的代码: package study_02.number; import java.math.BigDecimal; import java.math.BigIntege ...
随机推荐
- 在HTML中使用JavaScript(浏览器对js的加载机制分析)
前言: 向HTML页面中插入JavaScrip的主要方法,就是使用<script>标签.主要探讨<script>标签的在HTML页面的渲染机制.对应的业务场景:从js的加载机制 ...
- kubernetes/k8s CSI分析-容器存储接口分析
更多 k8s CSI 的分析,可以查看这篇博客kubernetes ceph-csi分析,以 ceph-csi 为例,做了详细的源码分析. 概述 kubernetes的设计初衷是支持可插拔架构,从而利 ...
- 【知识详解】Https详解
Https详解 1.什么是Https Http + SSL = Https 一句话说:Https是身披SSL的Http,当使用了SSL后,Http先和SSL通信,再由SSL和TCP通信, 2.为什么需 ...
- Odoo的附件大小限制
Odoo使用binary类型来保存附件数据,可以直接支持附件数据的上传.但是在实际使用中,有可能遇到附件文件大小超过限制的情况,如下图: 但是ERP定制过程中难免会遇到客户确实需要上传超大附件,那么怎 ...
- 利用C++11可变模板,封装调用dll导出函数
起因 开发中经常需要动态调用一些导出函数,试着利用C++11特性封装一下 尝试 常规使用 typedef int WINAPI (*TMessageBoxA)(HWND hWnd,LPCSTR lpT ...
- 有语言基础的人应该如何学习python?
正好最近在学python,感觉有语言基础的话更多在乎一些语法糖,毕竟其他东西在之前应该接触过了. 笔者C++是起始语言,也接触过java.js,介绍一点python的特点吧.帮助自己巩固所学,也希望能 ...
- vue源码阅读笔记
1.yarn test [文件名] -t [name-of-spec(describe or test )] 直接运行yarn test,会测试所有测试文件:yarn test 后面只跟文件名的话会 ...
- 比POSTMAN更好用!在国产接口调试工具APIPOST中使用Mock
APIPOST可以让你在没有后端程序的情况下能真实地返回接口数据,你可以用APIPOST实现项目初期纯前端的效果演示,也可以用APIPOST实现开发中的数据模拟从而实现前后端分离.在使用APIPOST ...
- SpringBoot数据访问之Druid数据源的使用
数据访问之Druid数据源的使用 说明:该数据源Druid,使用自定义方式实现,后面文章使用start启动器实现,学习思路为主. 为什么要使用数据源: 数据源是提高数据库连接性能的常规手段,数据源 ...
- template.js模板工具案例
案例一 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset=&qu ...