第一步:以字符串的形式将数字接收,随后将其用int数组按位存储下来,注意是逆序存储,方便后面加法的时候对齐
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main() {
string str;
cin >> str;
vector<int>a;
for (int i = str.size() - 1; i >= 0; i--) {
a.push_back(str[i] - '0'); //这一步的话例如str是123,a里面就是321
}
for (int i = 0; i < a.size(); i++) {
cout << a[i] ;
}
return 0;
}
第二步:两个数字按位相加,up存储进位
int up = 0;
int res;
for (int i = 0; i < max(a.size(), b.size()); i++) {
res = a[i] + b[i] + up;
a[i] = res % 10;
up = res / 10;
}
for (int i = a.size() - 1; i >= 0; i--) {
cout << a[i];
}