问题描述
输入两个非负 10 进制整数 A 和 B (≤
2
30
2^{30}
230 −1),输出 A+B 的 D (1<D≤10)进制数。
输入格式
输入在一行中依次给出 3 个整数 A、B 和 D。
输出格式
输出 A+B 的 D 进制数。
样例输入
123 456 8
样例输出
1103
C++代码
#include <bits/stdc++.h>
using namespace std;
int main() {
long long a, b, sum;
int d;
cin >> a >> b >> d;
sum = a + b;
if(sum == 0) {
cout << "0";
return 0;
}
stack<int> s;
while(sum != 0) {
s.push(sum%d);
sum /= d;
}
while(!s.empty()) {
cout << s.top();
s.pop();
}
return 0;
}
Tips
注意可能输入的A+B等于0