进制转换2

进制转换2

https://www.nowcoder.com/practice/ae4b3c4a968745618d65b866002bbd32?tpId=40&rp=1&ru=%2Fta%2Fkaoyan&qru=%2Fta%2Fkaoyan%2Fquestion-ranking&gioEnter=menu

#include <iostream>
#include <cstdio>
#include <vector>
#include <string>
 
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;
    scanf("%d%d",&m,&n);
    string str;
    cin>>str;
    long long number=0;
    for(int i=0;i<str.size();i++){        //X是M进制的数,先转为十进制
        number *= m;
        number += CharToInt(str[i]);
    }
    vector<char> answer;
    while(number!=0){
        answer.push_back(IntToChar(number%n));
        number /= n;
    }
     for(int i=answer.size()-1;i>=0;i--)        //逆序输出得该二进制数
            printf("%c",answer[i]);
        printf("\n");
    return 0;
}
全部评论

相关推荐

看到这个内容真是闹麻了。。。。。。现在有了AI以后很多人面试都会作弊吗?&nbsp;那对老老实实面试的人岂不是不公平....
程序员牛肉:公平那是对小孩子讲的童话故事,成年人的世界只有能不能接受失败的后果。 你要是能接受面试作弊被发现之后多家公司联合永久拉黑的后果,你就搞。
你找工作的时候用AI吗?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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