题解 | #进制转换#

进制转换

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;
    }
};

全部评论

相关推荐

程序员牛肉:继续沉淀吧同学,你这就是纯纯的流水线产品。 差不多的学历+两个烂大街项目。自身学历又不行,现在找啥实习呢。有点太浮躁了。多花点心思搞搞ai,开源和八股。这比你这段时间捣鼓一段小厂实习要好得多;
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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