给定两个正整数,计算它们的和。
输入格式
共两行,每行包含一个整数。
输出格式
共一行,包含所求的和。
数据范围
1≤整数长度≤1000001≤整数长度≤100000
输入样例:
12
23
输出样例:
35
import java.io.*;
class Main{
static String addString(String a, String b){
if(a.length() < b.length())return addString(b, a);
StringBuilder str = new StringBuilder();
int res = 0;
for(int i = a.length() - 1, j = b.length() - 1; i >= 0; --i, --j){
res += a.charAt(i) - '0';
if(j >= 0)res += b.charAt(j) - '0';
str.insert(0, res % 10);
res /= 10;
}
if(res != 0)str.insert(0, res);
return str.toString();
}
public static void main(String[] args)throws Exception{
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
String a = buf.readLine();
String b = buf.readLine();
String res = addString(a, b);
System.out.println(res);
}
}
本文介绍了一种处理大整数加法的算法,通过字符串操作实现任意长度整数的相加,适用于超出常规整数类型限制的情况。该算法首先判断两数长度,将短的数置于长数之下进行对齐,从最低位开始逐位相加,并处理进位,最终返回相加后的结果。
1102

被折叠的 条评论
为什么被折叠?



