PAT B1022 D进制的A + B

倾然丶 夕夏残阳落幕 提交于 2019-11-28 08:30:38

PAT B1022 D进制的A + B

题目描述:

  输入两个非负 10 进制整数 A 和 B (≤2​30​​−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 }

 

注意事项:

  无。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!