17
题目描述
kiki有一个十进制数,他想转成r进制,请你编程帮他实现。
输入描述:
两个整数,空格间隔,分别表示十进制整数n ( 1 ≤ n ≤ 109 )和r(1 ≤ r ≤ 16)进制
输出描述:
对应的r进制
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
// 将十进制数转换为r进制
string decimalToBase(int n, int r) {
vector<char> result;
while (n > 0) {
int remainder = n % r;
if (remainder < 10) {
result.push_back(remainder + '0');
} else {
result.push_back(remainder - 10 + 'A');
}
n /= r;
}
// 反转结果数组
reverse(result.begin(), result.end());
return string(result.begin(), result.end());
}
int main() {
int n, r;
cin >> n >> r;
cout << decimalToBase(n, r) << endl;
return 0;
}