题解 | #高精度整数加法#
高精度整数加法
https://www.nowcoder.com/practice/49e772ab08994a96980f9618892e55b6
// HJ57-2 高精度整数加法.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
string s1, s2;
vector<int>dp;
while (cin >> s1 >> s2)
{
int m = s1.size(), n = s2.size();
if (m < n)
{
string tmp = s1;
s1 = s2;
s2 = tmp;
}
m = s1.size(), n = s2.size();
for (int i = 0; i < m - n; i++)
{
s2.insert(s2.begin(), '0');
}
int num = 0, jie = 0;
for (int i = m - 1; i >= 0; i--)
{
num = s1[i] - '0' + s2[i] - '0'+jie;
if (num >= 10)
{
jie = 1;
num = num % 10;
}
else
{
jie = 0;
}
dp.insert(dp.begin(), num);
}
if (jie)
{
dp.insert(dp.begin(), 1);
}
for (auto c : dp)
{
cout << c;
}
cout << endl;
dp.clear();
//cout << s1 << " " << s2 << endl;
}
return 0;
}

