C++零基础算法100题-七进制数

169 阅读1分钟

题目链接:504. 七进制数 - 力扣(LeetCode)

题目描述

image.png

解题思路

  1. 首先我们传递一个数进来,我们要把这个数变成7进制数
  2. 我们先做一个判断,如果这个数是0的话,那么我们返回0
  3. 然后再做一次判断,如果这个数它是负数的化,那么我们控制flag为-否则为空值
  4. 遍历这个数,求余再相除
  5. 翻转ret再返回

代码实现

class Solution {
public:
    string convertToBase7(int num) {
        string ret;
        string flag="";
        if(num==0){
            return "0";
        }
        if(num<0){
            flag="-";
            num=-num;
        }
        while(num){
            ret+=num%7+'0';
            num/=7;
        }
        reverse(ret.begin(),ret.end());
        return flag+ret;
    }
};