测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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; }
上一题 下一题