题目描述
题目描述
高精度加法,相当于 a+b problem,不用考虑负数。
输入格式
分两行输入。a,b≤10^500。
输出格式
输出只有一行,代表 a+ba+ba+b 的值。
输入输出样例
输入 #1
1
1
输出 #1
2
输入 #2
1001
9099
输出 #2
10100
C++ 代码
#include<bits/stdc++.h>
using namespace std;
vector<int> add(vector<int>& A,vector<int>& B)
{
vector<int> C;int temp=0;
for(int i=0;i<A.size();i++)
{
if(i<B.size())temp+=A[i]+B[i];
else temp+=A[i];
C.push_back(temp%10);
temp/=10;
}
if(temp > 0)C.push_back(1);
while(C.size()>1 && C.back()==0)C.pop_back();
return C;
}
int main()
{
vector<int> A;vector<int> B;
string 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');
if(a.size()>=b.size())
{
auto C=add(A,B);
for(int i=C.size()-1;i>=0;i--)cout << C[i];
}
else
{
auto C=add(B,A);
for(int i=C.size()-1;i>=0;i--)cout << C[i];
}
return 0;
}