#include #include #include

using namespace std;

int main() { int n, m; string num; cin >> n >> num >> m;

// 将 n 进制数转化为十进制数
int dec = 0;
for (int i = 0; i < num.size(); i++)
{
    int x = isdigit(num[i]) ? num[i] - '0' : num[i] - 'A' + 10;
    dec = dec * n + x;
}

// 将十进制数转化为 m 进制数
string res;
while (dec)
{
    int x = dec % m;
    res += (x < 10 ? x + '0' : x - 10 + 'A');
    dec /= m;
}
reverse(res.begin(), res.end());

cout << res << endl;

return 0;
用c++写出这道题:输入一个 n 进制正整数然后输出它所对应的 m 进制数。输入格式第一行输入一个正整数 n代表需要转换的数的进制为 n 2 ≤ n ≤ 16。第二行输入一个 n 进制数。第三行输入一个正整数 m代表转换后的数的进制为 m 2 ≤ m ≤ 16。输出格式输出对应的 m 进制数。样例组输入#110108输出#112输入#2542415输出#279

原文地址: https://www.cveoy.top/t/topic/hpxX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录