十进制数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;
    }
};
全部评论

相关推荐

10-14 23:01
已编辑
中国地质大学(武汉) Java
CUG芝士圈:虽然是网上的项目,但最好还是包装一下,然后现在大部分公司都在忙校招,十月底、十一月初会好找一些。最后,boss才沟通100家,别焦虑,我去年暑假找第一段实习的时候沟通了500➕才有面试,校友加油
点赞 评论 收藏
分享
头像
11-09 17:30
门头沟学院 Java
TYUT太摆金星:我也是,好几个华为的社招找我了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务