#include <iostream>
#include <string>
#include <cstdlib>
#include <vector>
using namespace std;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
string num1, num2;
cin >> num1 >> num2;
int fill = abs( int(num1.size() - num2.size()));
int n = num1.size();
if (num1.size() > num2.size())
{
n = num1.size();
char a = '0';
for (int i = 0; i < fill; i++)
{
num2 = a + num2;
}
}
if (num1.size() < num2.size())
{
n = num2.size();
char a = '0';
for (int i = 0; i < fill; i++)
{
num1 = a + num1;
}
}
vector <int> result;
int rest = 0;
int add = 0;
result.resize(n + 1);
for (int i = n; i > 0; i--)
{
int sum = num1[i - 1] - '0' + num2[i - 1] - '0' + rest;
add = sum % 10;
result[i] = add;
rest = sum / 10;
}
if (rest != 0)
{
cout << rest;
}
for (int i = 1; i <= n; i++)
{
cout << result[i];
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | #include <iostream> #include <string> #include <cstdlib> #include <vector> using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); string num1, num2; cin >> num1 >> num2; int fill = abs( int(num1.size() - num2.size())); int n = num1.size(); if (num1.size() > num2.size()) { n = num1.size(); char a = '0'; for (int i = 0; i < fill; i++) { num2 = a + num2; } } if (num1.size() < num2.size()) { n = num2.size(); char a = '0'; for (int i = 0; i < fill; i++) { num1 = a + num1; } } vector <int> result; int rest = 0; int add = 0; result.resize(n + 1); for (int i = n; i > 0; i--) { int sum = num1[i - 1] - '0' + num2[i - 1] - '0' + rest; add = sum % 10; result[i] = add; rest = sum / 10; } if (rest != 0) { cout << rest; } for (int i = 1; i <= n; i++) { cout << result[i]; } } |
English