#include <iostream>
#include <vector>
using namespace std;
vector<int> add(vector<int>&A,vector<int>&B)
{
vector<int> C;
int t = 0;
for(int i = 0;i < A.size() || i < B.size();i ++)
{
if(i < A.size()) t += A[i];
if(i < B.size()) t += B[i];
C.push_back(t % 10);
t /= 10;
}
if(t) C.push_back(1);
return C;
}
int main()
{
string a,b;
vector<int>A,B;
cin >> a >> b;
for(int i = a.size() - 1;i >= 0;i --) A.push_back(a[i] - '0');
for(int i = b.size() - 1;i >= 0;i --) B.push_back(b[i] - '0');
auto C = add(A,B);
for(int i = C.size() - 1;i >= 0;i --) cout << C[i];
return 0;
}
高精度加法就是大数加法,显然一般的类型无法存储很大的数字,所以要用字符串存储。
1、存储。存储在字符串中,且应将数字个位放于字符串首,以方便后面实现加法进位。
2、将字符串数组转换为数字数组。