文章
6
粉丝
696
获赞
1
访问
52.7k
#include<iostream>
#include<vector>
using namespace std;
vector<int> sum(vector<int>& a,vector<int>& b)
{
vector<int> result;
if(a.size()<b.size()) return sum(b,a);
int t=0;//进位
for(int i=0;i<a.size() || t;i++)//a.size() >= b.size()
{
if(i<a.size()) t+=a[i];
if(i<b.size()) t+=b[i];
result.push_back(t%10);
t/=10;//更新进位
}
return result;
}
int main()
{
string a,b;
vector<int> c,d;
vector<int> result;//存放结果
cin>>a>>b;
//按 个位 十位 百位 ...n位 存放
for(int i=a.size()-1;i>=0;i--) c.push_back(a[i]-'0');//将字符a[i]转换成数值
for(int i=b.size()-1;i>=0;i--) d.push_back(b[i]-'0');//将字符b[i]转换成数值
result=sum(c,d);
for(int i=result.size()-1;i>=0;i--) cout<<result[i];
return 0;
}
登录后发布评论
看一下其他同学通过的代码,用对数器跑一下