题目描述
给定一个整数 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);
}
}
效果图