【超长正整数相加】
请设计一个算法完成两个超长正整数的加法。
接口说明 :
输入参数:
String addend:加数
String augend:被加数
返回值:加法结果
public String AddLongInteger(String addend, String augend) {
/*在这里实现功能*/
return null;
}
输入描述: 输入两个字符串数字
输出描述: 输出相加后的结果,string型
【题目解析】:
本题是模拟加法运算。
【解题思路】:
加法运算,每一位的值等于当前对应位的两数之和+进位。由于是加法,所以当前位的和最多是19(9 + 9 + 进位1),所以产生的进位最多为1。故
第一步:计算对应位的和,对应位相加 + 上一位的进位
第二步:更新当前位的值, 和 % 10 ,把值转成字符(和 - ‘0’)存入字符结果中
第三步:更新进位, 和 / 10, 然后计算下一位的值
最后一步:如果计算完之后,进位为1,说明最高位产生了进位,所以需要再加一位,才是最后的结果。结果产生之后,需要逆置,得到最终结果
#include <string>
#include <iostream>
#include <algorithm>
us