模板请戳 :这里
#include <iostream>
#include <stack>
using namespace std;
stack<char>st;
void cnt(string& a, string& b) {
int index_a = a.length() - 1;
int index_b = b.length() - 1;
int sum = 0;
//从后往前,a和b一位位的相加
while (index_a >= 0 || index_b >= 0|| sum != 0) {
if (index_a >= 0) {
if (isalpha(a[index_a])) {//>9
sum += a[index_a] - 'a' + 10;
}
else {//<=9
sum += a[index_a] - '0';
}
index_a--;
}
if (index_b >= 0) {
if (isalpha(b[index_b])) {//>9
sum += b[index_b] - 'a' + 10;
}
else {//<=9
sum += b[index_b] - '0';
}
index_b--;
}
if (sum % 30 >= 10) {//>=10 字母
//str.append(sum % 30-10+'a');
//v.push_back('a'+sum % 30 - 10);
//cout << (char)('a'+sum % 30 - 10) ;
st.push('a'+sum % 30-10);
}
else {
//str.append(sum % 30-'0');//<9
//v.push_back('0'+sum % 30);
//cout <<(char)( '0'+sum % 30);
st.push('0' + sum % 30);
}
sum /= 30;
}
while (!(st.empty())) {
cout << st.top();
st.pop();
}
}
int main() {
string a, b;
cin >> a >> b;
cnt(a, b);
return 0;
}