Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
150175 | Microsoft | K进制数转L进制数 | C++ | 解答错误 | 0 | 0 MS | 252 KB | 851 | 2024-06-01 16:15:14 |
#include <iostream> #include <string> using namespace std; int charToInt(char c) { if (isdigit(c)) { return c - '0'; } else { return c - 'A' + 10; } } char intToChar(int n) { if (n < 10) { return '0' + n; } else { return 'A' + n - 10; } } string kToL(string num, int k, int l) { int decimal = 0; for (int i = 0; i < num.size(); i++) { decimal = decimal * k + charToInt(num[i]); } string result = ""; do { result = intToChar(decimal % l) + result; decimal /= l; } while (decimal != 0); return result; } int main() { string num; int k, l; cin >> num; cin >> k >> l; cout << num << "(" << k << ") = " << kToL(num, k, l) << "(" << l << ")" << endl; return 0; }