题解 | #进制转换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;
}

查看7道真题和解析