0504. 七进制数【简单】
1. 📝 题目描述
给定一个整数 num,将其转化为 7 进制,并以字符串形式输出。
示例 1:
txt
输入: num = 100
输出: "202"1
2
2
示例 2:
txt
输入: num = -7
输出: "-10"1
2
2
提示:
-10^7 <= num <= 10^7
2. 🎯 s.1 - 除 7 取余法
js
/**
* @param {number} num
* @return {string}
*/
var convertToBase7 = function (num) {
if (num === 0) return '0'
// 处理负数
let isNegative = false
if (num < 0) {
isNegative = true
num = -num
}
let result = ''
// 除7取余法
while (num > 0) {
result = (num % 7) + result
num = Math.floor(num / 7)
}
// 添加符号
return isNegative ? '-' + result : result
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
js
/**
* @param {number} num
* @return {string}
*/
var convertToBase7 = function (num) {
if (num === 0) return '0'
let isNegative = num < 0
num = Math.abs(num)
const digits = []
while (num > 0) {
digits.push(num % 7)
num = Math.floor(num / 7)
}
let result = digits.reverse().join('')
return isNegative ? '-' + result : result
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
- 时间复杂度:
,其中 n 是输入数字的绝对值,需要进行 次除法运算 - 空间复杂度:
,用于存储结果字符串 js-2采用的是数组式写法,核心逻辑都是除 7 取余。