B1022 D进制的A+B
输入两个非负 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 }
作者:PennyXia
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。