题解 | #高精度整数加法#
高精度整数加法
http://www.nowcoder.com/practice/49e772ab08994a96980f9618892e55b6
//从后往前遍历,定义一个od变量代表进位
using namespace std;
int main(){
string str1, str2;
while(cin>> str1 >> str2){
int n1 = str1.size(), n2 = str2.size(), od = 0;
int i1 = n1 - 1, i2 = n2 - 1;
int num;
string ans;
while(i1 >= 0 || i2 >= 0){
if(i1 < 0){
num = str2[i2] - '0' + od;
i2 --;
}else if(i2 < 0){
num = str1[i1] - '0' + od;
i1 --;
}else{
num = str2[i2] - '0' + str1[i1] - '0' + od;
i2 --;
i1 --;
}
od = num / 10;
ans = to_string(num % 10) + ans;
}
if(od != 0){
ans = to_string(od) + ans;
}
cout<< ans << endl;
}
return 0;
}