十进制数M转化为N进制数『代码模板』

进制转换

http://www.nowcoder.com/questionTerminal/2cc32b88fff94d7e8fd458b8c7b25ec1

一、代码模板

  • 十进制数M(M>0)转化为N进制数
           while(M)
          {
              char c=mp[M%N];
              ret+=c;
              M/=N;
          }
          reverse( ret.begin(), ret.end());    //反转亦可改为『栈』

二、AC代码

map<int,char> mp;
void init()
{
    for(int i=0; i<10; ++i)
    {
        mp[i]='0'+i;
    }
    for(int i=10; i<16; ++i)
    {
        mp[i]='A'+(i-10);
    }
}

class Solution {
public:
    /**
     * 进制转换
     * @param M int整型 给定整数
     * @param N int整型 转换到的进制
     * @return string字符串
     */
    string solve(int M, int N) {
        // write code here
        int tag=0;
        if( M<0 )
        {
            tag=1;
            M=-1*M;
        }
        init();
        string ret;
        while(M)
        {
            char c=mp[M%N];
            ret+=c;
            M/=N;
        }
        if( tag )
        {
            ret+='-';
        }
        reverse( ret.begin(), ret.end());
        return ret;
    }
};
全部评论

相关推荐

11-03 14:38
重庆大学 Java
AAA求offer教程:我手都抬起来了又揣裤兜了
点赞 评论 收藏
分享
10-30 10:16
南京大学 Java
龚至诚:给南大✌️跪了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务