leetcode-504.七进制数

数学问题


题目详情

给定一个整数 num,将其转化为 7 进制,并以字符串形式输出。


示例1:

输入: num = 100
输出: "202"

示例2:

输入: num = -7
输出: "-10"

思路:
非常简单,反复整除和取余即可得到
注意处理0和负数的情况

我的代码:

class Solution 
{
public:
    string convertToBase7(int num) 
    {
        if (num == 0) return "0"; //注意是返回"0"不是0

        int is_negative = num < 0; //注意判断正负
        if (is_negative) num = -num; //如果是负数就转为正数
        string ans;
        while (num)  //反复求余整除即可
        {
            int a = num / 7, b = num % 7;
            ans = to_string(b) + ans;
            num = a;
        }
        return is_negative? "-" + ans : ans; //最后别忘加上符号
    }
};
posted @ 2022-07-21 19:49  ggaoda  阅读(8)  评论(0编辑  收藏  举报  来源