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 ...
随机推荐
- maven添加阿里云镜像
apache的maven服务器国内访问太慢了,用阿里的镜像会好很多. 1.maven的配置文件有两个,安装目录conf文件夹下settings.xml和用户目录.m2文件夹下的settings.xml ...
- airodump-ng的使用及显示
PWR 表示所接收的信号的强度.表示为负数,数值赿大表示信号赿强.(绝对值赿大,数据赿值小) beacons 表示网卡接收到的AP发出的信号个数
- informix常见问题
1.中文乱码 https://www.cnblogs.com/equation/p/5545967.html 2.informix创建数据库和用户 https://wenku.baidu.com/vi ...
- bs4爬取笔趣阁小说
参考链接:https://www.cnblogs.com/wt714/p/11963497.html 模块:requests,bs4,queue,sys,time 步骤:给出URL--> 访问U ...
- Java文件I/O简单介绍
目录 一.File类 1.1 构造方法 1.2 常用方法 1.3 例子 二.基础I/O:字节流.字符流 2.1 字节流 2.1.1 字节输出流 OutputStream 2.1.2 FileOutpu ...
- js学习笔记之自调用函数、闭包、原型链
自调用函数 var name = 'world!'; // console.log(typeof name) (function () { console.log(this.name, name, ...
- zabbix latest.php SQL注入漏洞(CVE-2016-10134)
Zabbix 2.2.14之前的版本和3.0.4之前的3.0版本 latest.php页面提取cookie中的zbx_sessionid的后16位 246c58ba963457ef http://19 ...
- DC-4靶机
仅供个人娱乐 靶机信息 下载地址:http://www.five86.com/downloads/DC-4.zip 一.主机扫描 arp-scan -l nmap -p 1-65535 -A -sV ...
- 【译】使用 Source Link 提高调试效率
有多少次你在调试器中追踪一个缺陷,通过代码,观察局部变量的值改变,当你碰壁--不是你所期待的值和你不能进入的方法,因为它来自类库或 .NET 框架本身:或者您设置了一个条件断点,等待检查某个值是如何设 ...
- QT: 如何移动和缩放一个无边框窗口
一个QT窗口如下可以做到无边框: Window { id: window //Designer 竟然不支持..., 设计模式时要注意 flags: Qt.FramelessWindowHint wid ...