输入两个非负 10 进制整数 A 和 B (≤2^30−1),输出 A+B 的 D (1<D≤10)进制数。
输入格式:
输入在一行中依次给出 3 个整数 A、B 和 D。
输出格式:
输出 A+B 的 D 进制数。
输入样例:
123 456 8
输出样例:
1103
要注意和为0的特殊情况
to_string将数字常量转换为字符串,返回值为转换完毕的字符串,头文件#include<string>,支持的类型有int、long、long long、unsigned long、unsigned long long、long double、float、double
这道题倒是没有出现太大的数字
#include<iostream>
#include <string>
#include<algorithm>
using namespace std;
int main() {
int a, b, d;
cin >> a >> b >> d;
int z = a + b;
//要注意ab均为0的特殊情况
if (z == 0) {
cout << 0 << endl;
}
else {
string result = "";
//采用的是辗转相除法
while (z != 0) {
int temp = z % d;
result += to_string(temp);
z /= d;
}
reverse(result.begin(), result.end());
cout << result << endl;
}
return 0;
}