Click
Here to go back to the homepage.
Simple Addition Solution:
#include <bits/stdc++.h>
using namespace std;
void generate(string s1, string s2, vector<short> *ans){
bool carry = false;
int val;
for(auto it1 = s1.rbegin(), it2 = s2.rbegin(); it1 != s1.rend() || it2 != s2.rend();){
val = carry ? 1 : 0;
if(it1 != s1.rend()){
val += *it1;
it1++;
}
if(it2 != s2.rend()){
val += *it2;
it2++;
}
val %= 48;
if(val > 9){
carry = true;
val -= 10;
} else {
carry = false;
}
(*ans).push_back(val);
}
if(carry){
cout << 1;
}
for_each((*ans).rbegin(), (*ans).rend(), [](const int &i){ cout << i; });
}
int main(){
// #ifndef TESTING
// freopen("input.txt", "r", stdin);
// freopen("output.txt", "w", stdout);
// #endif
string s1, s2;
cin >> s1 >> s2;
vector<short> ans;
generate(s1, s2, &ans);
return 0;
}