题目描述
高精度加法
C++ 代码
#include<iostream>
#include<stdio.h>
#include<vector>
using namespace std;
vector<int > add(vector<int> &A , vector<int> &B){
vector<int > res;
int t = 0;
if(B.size() > A.size())return add(B, A);
for(int i = 0; i<A.size() || t ;i++){
if(i<A.size())t += A[i];
if(i<B.size())t += B[i];
res.push_back(t%10);
t /= 10;
}
if(t) res.push_back(1);
return res;
}
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 Res = add(A, B);
for(int i = Res.size() - 1; i>=0; i--){
printf("%d",Res[i]);
}
}