有时候最后两位各多出来1(?)
13
12
36
有时候会有前导0 例如
1
1
02
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
void add(string A, string B){
int la = A.length(), lb = B.length(), lc, tmp;
reverse(A.begin(), A.end());
reverse(B.begin(), B.end());
int a[501] = {0}, b[501] = {0}, ans[501] = {0};
for(int i = 0; i < la; ++i) a[i + 1] = A[i] - '0';
for(int i = 0; i < lb; ++i) b[i + 1] = B[i] - '0';
for(int i = 1; i <= max(la, lb); ++i){
if(la <= max(la, lb)) tmp += a[i];
if(lb <= max(la, lb)) tmp += b[i];
ans[i] += tmp;
if(ans[i] / 10 == 1) ++ans[i + 1], lc = max(la, lb) + 1;
else lc = max(la, lb);
ans[i] %= 10;
tmp = 0;
}
for(int i = lc; i >= 1; --i) cout << ans[i];
return ;
}
int main(){
string A, B;
cin >> A >> B;
add(A, B);
return 0;
}