编程题2
进制转换
【题目描述】
小美刚刚学习了十六进制,她觉得很有趣,想到是不是还有更大的进制呢?
在十六进制中,用‘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;
} 本题为编程题,提交代码并运行通过测试点后判分。
正在加载题目数据…
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析