HDOJ 1002 A + B Problem II 高精度的A+B问题
来源:互联网 发布:网络大电影受众人群 编辑:程序博客网 时间:2024/05/24 07:12
因为数值过于巨大,使用int、long肯定是无法存储的,所以只能采用高精度算法,模拟小学生的算术计算。注意输出的细节就好。
package big_number;import java.util.Scanner;/** * A + B Problem II * 大整数之间的加法 * Created by yangyuan on 2017/12/8. */public class Problem1002{ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int caseCount = scanner.nextInt(); for (int i = 1; i <= caseCount; i++) { String aStr = scanner.next(); String bStr = scanner.next(); System.out.println("Case " + i + ":"); System.out.print(aStr + " + " + bStr + " = "); char[] a = aStr.toCharArray(); char[] b = bStr.toCharArray(); if (a.length >= b.length) calculate(a, b); else calculate(b, a); if (i < caseCount) System.out.println(); } } public static void calculate(char[] x, char[] y) { final char zero = '0'; for (int i = x.length - 1, j = y.length - 1; j >= 0; i--, j--) { int a = x[i] - zero; int b = y[j] - zero; if (a + b < 10) x[i] = (char)(a + b + zero); else { x[i] = (char)(a + b - 10 + zero); if (i - 1 >= 0) x[i - 1]++; else System.out.print("1"); //如果进入这里,则打印完最高位就会退出循环 } } System.out.println(x); }}
阅读全文
0 0
- HDOJ 1002 A + B Problem II 高精度的A+B问题
- HDOJ 1002 A + B Problem II //高精度加法
- HDOJ 1002 A + B Problem II(高精度加法)
- HDOJ-1002 A + B Problem II 高精度(java)
- 高精度-HDU-1002-A + B Problem II
- 【HDOJ】 <Problem - 1002> : A + B Problem II
- HDOJ~~A + B Problem II
- HDOJ 1002 A + B Problem II(大数A+B)
- HDOJ 1002 A + B Problem II(大数A+B)
- hdoj 1002 A + B Problem II 【大数A+B】
- HDOJ 1002 - A + B Problem II
- HDOJ 1002 A + B Problem II
- hdu/hdoj 1002 A + B Problem II
- HDOJ 1002 A + B Problem II
- HDOJ 1002 A + B Problem II
- ACM HDOJ 1002 (A + B Problem II)
- HDOJ 1002 A + B Problem II
- hdoj 1002 A + B Problem II
- JAVA 集合 迭代器
- 与系统函数distance重名的问题
- 开门见“神” HNUST 1886 ( 区间DP )
- 小东吖 之 java Collection集合和迭代器
- leetcode 2 Add Two Numbers
- HDOJ 1002 A + B Problem II 高精度的A+B问题
- SSL P1194 最优乘车 题目
- 关于AD采样前级电路的分析与设计
- 软件工程第六章软件测试
- js表单的登录时候遇见的问题
- 排序 修改 删除 添加
- python 学习笔记(五)函数--定义函数
- Unity多线程
- 常用权限+依赖包