输入两个非负 10 进制整数 A 和 B (
≤
2
30
−
1
≤2^{30}−1
≤230−1),输出
A
+
B
A+B
A+B 的
D
D
D (
1
<
D
≤
10
1<D≤10
1<D≤10)进制数。
输入格式:
输入在一行中依次给出 3 个整数
A
A
A、
B
B
B 和
D
D
D。
输出格式:
输出
A
+
B
A+B
A+B 的
D
D
D 进制数。
输入样例:
123 456 8
输出样例:
1103
解题思路:
除基取余法:十进制数 x x x 转换为D进制数 y y y 的方法。
vector<int> y;
do {
ans.push_back(x % d);
x /= d;
} while (x != 0);
答案代码:
#include<iostream>
#include<vector>
using namespace std;
int main() {
int a = 0, b = 0, d = 0, sum = 0;
cin >> a >> b >> d;
sum = a + b;
vector<int> ans;
do {
ans.push_back(sum%d);
sum /= d;
} while (sum != 0);
for (int i = ans.size()-1; i >= 0; i--)
cout << ans[i];
return 0;
}