Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
168150 | 徐启善(C班) | K进制数转L进制数 | C++ | 解答错误 | 60 | 1 MS | 244 KB | 815 | 2024-08-19 23:05:34 |
#include <bits/stdc++.h> using namespace std; int charzv(char ch) { if (isdigit(ch)) { return ch - '0'; } return toupper(ch) - 'A' + 10; } char vzchar(int v) { if (v < 10) { return '0' + v; } return 'A' + v - 10; } string jzzh(const string& n, int fbase, int tbase) { int jz10 = 0; for (char d : n) { jz10 = jz10 * fbase + charzv(d); } if (jz10 == 0) { return "0"; } string s; while (jz10 > 0) { s += vzchar(jz10 % tbase); jz10 /= tbase; } reverse(s.begin(), s.end()); return s; } int main() { int k, n, l; while (cin >> k >> n >> l) { string kr = to_string(n); string lr = jzzh(kr, k, l); cout << lr << endl; } return 0; }