A38498. 进制转换
填空题
中等
知识点
题目描述
进制转换
题目描述
小美刚刚学习了十六进制,她觉得很有趣,想到是不是还有更大的进制呢? 在十六进制中,用‘A’表示 10、‘F’表示 15。如果扩展到用‘Z’表示 35,岂不是可以表示 36 进制数了嘛!
输入格式
输入 2 行,第一行包含一个正整数 N,第二行包含一个正整数 R。保证 1≤N≤1000000,2≤R≤36
输出格式
输出 1 行,为 N 的 R 进制表示。
样例输入
123
25
样例输出
4N
参考答案
#include <bits/stdc++.h> using namespace std;
char res[30];
int len = 0;
char trans(int d) {
if (d < 10)
return (char)(d + '0');
return (char)(d + 'A' - 10);
}
int main() {
int n = 0, r = 0;
cin >> n >> r;
while (n > 0) {
res[len] = trans(n % r);
n /= r;
len++;
}
for (int i = len - 1; i >= 0; i--) cout << res[i];
cout << endl;
return 0;
}
上一题
下一题