题解 | #进制转换#

进制转换

https://www.nowcoder.com/practice/2cc32b88fff94d7e8fd458b8c7b25ec1

#include <iterator>
class Solution {
public:
    string solve(int M, int N) {
       string ans;
       int flag = 1;
       if(M < 0){
        flag = -1;
        M *= (-1);
       }
      if(N > 10){
        while(M){
            int rest = M % N;
            if(rest == 10) ans += 'A';
            else if(rest == 11) ans += 'B';
            else if(rest == 12) ans += 'C';
            else if(rest == 13) ans += 'D';
            else if(rest == 14) ans += 'E';
            else if(rest == 15) ans += 'F';
            else {
                ans += (rest + '0');
            }
            M = M / N;
        }
      }
      else{
         while(M){
            int test = M % N;
            ans += (test + '0');
            M = M / N;
         }
      }
      if(flag == (-1)) ans += '-';
      reverse(ans.begin(), ans.end());
      
      return ans;
    }
};

全部评论

相关推荐

投递美团等公司10个岗位
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务