题目描述
高精度加法
样例
a,b均为正整数
C++ 代码
#include<iostream>
#include<stdlib.h>
#include<stdio.h>
#include<cstring>
#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> c, d;
cin >> a >> b;
for (int i = a.size() - 1;i >= 0;i--)
{
c.push_back(a[i] - '0');
}
for (int i = b.size() - 1;i >= 0;i--)
{
d.push_back(b[i] - '0');
}
auto f = add(c, d);
for (int i = f.size() - 1;i >= 0;i--)
{
cout << f[i];
}
}