题解 | 进制转换2

#include<iostream>
#include<vector>

using namespace std;
int chartoint(char x) {
    if (x >= '0' && x <= '9')return x - '0';
    else return x - 'A' + 10;
}
char inttochar(int x) {
    if (x >= 0 && x <= 9)return x + '0';
    else return x - 10 + 'a';
}
int main() {
    int m, n;
    string x;
    cin >> m >> n;
    cin >> x; //1,统一先转为10进制 2.10进制转n进制
    long long num = 0;
    for (int i = 0; i < x.size(); i++) {
        num *= m;
        num += chartoint(x[i]);
    }
    vector<char> ans;
    while (num != 0) {
        ans.push_back(inttochar(num % n));
        num /= n;
    }
    for (int i = ans.size() - 1; i >= 0; i--) {
        cout << ans[i];
    }
}

全部评论

相关推荐

榕城小榕树:1200单休,我去干点啥别的不好
点赞 评论 收藏
分享
好想摆:一想到我苦苦追求的迪子私下里却是985的马子,我的心就在滴血😭😭😭
点赞 评论 收藏
分享
06-26 22:20
门头沟学院 Java
码农索隆:让你把简历发给她,她说一些套话,然后让你加一个人,说这个人给你改简历,然后开始卖课
我的求职精神状态
点赞 评论 收藏
分享
07-02 13:50
闽江学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务