给定两个正整数,计算它们的和。
输入格式
共两行,每行包含一个整数。
输出格式
共一行,包含所求的和。
数据范围
1≤整数长度≤100000
输入样例:
12
23
输出样例:
35
注意点:
1.两个整数较大,用字符串来存,这样的话,可以调用它的size()方法
2.将两个大的整数,存入vector数组中,最好把整数倒着存进vector数组中去
这样,可以调用vector中的push_back()方法
3.a-‘0’; 这样可以将一个字符转换成数字
#include <iostream>
#include <vector>
using namespace std;
vector<int> add(vector<int> &A , vector<int> &B)
{
vector<int> C;
if(A.size()<B.size()) return add(B,A);
int t= 0 ;
for(int i = 0 ; i < A.size() ; i++)
{
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;
cin>>a>>b;
vector<int> 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--)
printf("%d",c[i]);
return 0;
}[题目](https://www.acwing.com/problem/content/description/793/)