题解 | 数制转换

数制转换

https://www.nowcoder.com/practice/8ef02ef8571b417d8c311a87861f7a03

#include<iostream>
#include<string>
#include<stack>
using namespace std;
int charToint(char c){
    if(c>='0'&&c<='9')
        return c-'0';
    else if(c>='a'&&c<='z'){
        return c-'a'+10;
    }
    else{
        return c-'A'+10;
    }
}
char intTochar(int x){
    if(x>=0&&x<=9){
        return x+'0';
    }
    else{
        return x-10+'A';
    }
}
int main(){
    int a,b;
    string n;
    cin>>a>>n>>b;
    long long number=0;
    for(int i=0;i<n.size();i++){
        number=number*a+charToint(n[i]);
    }
    stack<char> answer;
    while(number){
        answer.push(intTochar(number%b));
        number=number/b;
    }
    while(!answer.empty()){
        cout<<answer.top();
        answer.pop();
    }
}

全部评论

相关推荐

点赞 评论 收藏
分享
ALEX_BLX:这华子能怪谁呢,池子泡这么深,每年几乎都是最晚一批开出来的公司,人才早就给抢走了。又不是人人都是博士生
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务