题解 | #进制转换2#

进制转换2

https://www.nowcoder.com/practice/ae4b3c4a968745618d65b866002bbd32

#include <iostream>
#include <algorithm>
using namespace std;
//m进制转换为10进制数
long long ConvertToTen(int m,string x){
    long long res=0;
    for(int i=0;i<x.size();i++){
        if(isalpha(x[i])) res=res*m+10+x[i]-'A';
        else res=res*m+x[i]-'0';
    }
    return res;
}
char intTochar(int c){
    if(c>=0&&c<=9) return '0'+c;
    return 'a'+c-10;
}
string ConvertToN(long long t,int n){
    string res;
    if(n<=10){
        while(t){
            res+='0'+t%n;
            t/=n;
        }
    }else{
        while(t){
            res+=intTochar(t%n);
            t/=n;
        }
    }
    reverse(res.begin(),res.end());
    return res;
}
int main() {
    int m,n;
    cin>>m>>n;
    string x;
    cin>>x;
    long long t=ConvertToTen(m,x);
    string res=ConvertToN(t,n);
    cout<<res<<endl;
    return 0;
}

全部评论

相关推荐

生命诚可贵:先不说内容怎么样 排版就已经太差劲了 第一眼看不到重点,第二眼已经没有再看的耐心了, 篇幅占的太满了 字体不要用灰色 观感不好 想重点突出的黑色加粗就可以了 多列要点 少些大段的句子 项目经历把项目用的技术要点列出来,光写个python plc什么的太宽泛了 自我评价也有点偏多
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务