PAT B1022 D进制的A + B
题目描述:
输入两个非负 10 进制整数 A 和 B (≤230−1),输出 A+B 的 D (1<D≤10)进制数。
输入格式:
输入在一行中依次给出 3 个整数 A、B 和 D。
输出格式:
输出 A+B 的 D 进制数。
输入样例:
123 456 8
输出样例:
1103
参考代码:
1 /****************************************************
2 PAT B1022 D进制的A + B
3 ****************************************************/
4 #include <iostream>
5 #include <vector>
6
7 using namespace std;
8
9 int main() {
10 vector<int> ans; //存储转换禁止之后的结果
11 int num1 = 0, num2 = 0, sum = 0, decimal = 0;
12
13 cin >> num1 >> num2 >> decimal;
14
15 sum = num1 + num2;
16
17 while (sum != 0) {
18 ans.push_back(sum % decimal);
19 sum /= decimal;
20 }
21
22 if (ans.size() != 0) {
23 for (int i = ans.size() - 1; i >= 0; --i) {
24 cout << ans[i];
25 }
26 }
27 else cout << 0; //和为0的情况下仅输出0
28
29 return 0;
30 }
注意事项:
无。