【进击大厂之力扣每日打卡】七进制数

题目描述

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

示例

示例1:

输入: num = 100
输出: “202”

示例2:

输入: num = -7
输出: “-10”

提示

-107<= num <= 107

解题思路

只要将num不断对7取模然后在拼接即可,如果是其他进制计算也是可以使用。如下图所示:

在这里插入图片描述

代码示例

解法一:

class Solution {
    
    
    public String convertToBase7(int num) {
    
    
        StringBuilder result = new StringBuilder();
        boolean flag = false;
        if (num < 0) {
    
    
            num *= -1;
            flag = true;
        }
        int s1 = num % 7;
        int s2 = num / 7;
        result.append(s1);
        while (s2 >= 7) {
    
    
            s1 = s2 % 7;
            s2 = s2 / 7;
            result.append(s1);
        }
        if (s2 > 0) {
    
    
            result.append(s2);
        }
        if (flag) {
    
    
            result.append("-");
        }
        return result.reverse().toString();
    }
}

效果图
在这里插入图片描述

解法二

class Solution {
    
    
    public String convertToBase7(int num) {
    
    
        return Integer.toString(num, 7);
    }
}

效果图
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/a1774381324/article/details/123341940