输入两个非负 10 进制整数 A 和 B (≤230−1),输出 A+B 的 D (1<D≤10)进制数。
输入格式:
输入在一行中依次给出 3 个整数 A、B 和 D。
输出格式:
输出 A+B 的 D 进制数。
输入样例:
123 456 8
输出样例:
1103
思路
- 常见的进制转换,注意当运算结果是
0
的时候要单独处理一下
代码
#include<bits/stdc++.h>
using namespace std;
string transform(int x, int d)
{
string tmp = "";
if(x == 0)
return "0";
while(x)
{
tmp = tmp + (char)(x%d + '0');
x /= d;
}
reverse(tmp.begin(),tmp.end());
return tmp;
}
int main()
{
int a,b;
cin >> a >> b;
int d;
cin >> d;
string ans = transform(a+b, d);
cout << ans;
return 0;
}
引用
https://pintia.cn/problem-sets/994805260223102976/problems/994805299301433344