题解 | #进制转换2#
进制转换2
https://www.nowcoder.com/practice/ae4b3c4a968745618d65b866002bbd32
#include <iostream> #include <string> #include <stack> using namespace std; char intToChar(int x) { if (x < 10) { return x + '0'; } else { return x - 10 + 'a'; } } int charToInt(char c) { if (c >= '0' && c <= '9') { return c - '0'; } else { return c - 'A' + 10; } } int main() { int m, n; cin >> m >> n; string str; cin >> str; long long number = 0; for (char i : str) { number *= m; number += charToInt(i); } stack<char> answer; while (number != 0) { answer.push(intToChar(number % n)); number /= n; } while (!answer.empty()) { cout << answer.top(); answer.pop(); } cout << endl; return 0; }