B1022 D进制的A+B

三世轮回 提交于 2020-02-10 18:41:27

输入两个非负 10 进制整数 A 和 B (≤),输出 A+B 的 D (1)进制数。

输入格式:

输入在一行中依次给出 3 个整数 A、B 和 D。

输出格式:

输出 A+B 的 D 进制数。

输入样例:

123 456 8
 

输出样例:

1103

思路1:

用一个字符串str存储除d之后的余数,使用字符串的拼接,注意将余数转换成字符串格式;将字符串倒序输出。

思路2:

将余数存进动态数组,然后逆序输出。

 

 1 #include <iostream>
 2 #include <string>
 3 #include <cctype>
 4 using namespace std;
 5 int main() {
 6     long long a,b,c;
 7     int d;
 8     string e="";
 9     cin >> a >> b >> d;
10     c = a + b;
11     while (c != 0) {
12         e += to_string(c % d);
13         c = c / d;
14     }
15     if (e.size() == 0)cout << "0";
16     else 
17         for (int i = e.size() - 1; i >= 0; i--) {
18             cout << e[i];
19         }
20     return 0;
21 }

 

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