326. 3的幂
给定一个整数,写一个函数来判断它是否是 3 的幂次方。
示例 1:
输入: 27
输出: true
示例 2:
输入: 0
输出: false
示例 3:
输入: 9
输出: true示例 4:
输入: 45
输出: false
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/power-of-three
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
题解
解1
/**
* @param {number} n
* @return {boolean}
*/
var isPowerOfThree = function(n) {
let i = 0, res = 0
while (res < n) {
res = Math.pow(3, i)
if (res > n) {
return false
}
if (res == n) {
return true
}
i++
}
return false
};
解2
10的幂的十进制为1 10 100 1000 ...,2的幂的二进制为1 10 100 1000 ...,3的幂的三进制为1 10 100 1000...,so...
/**
* @param {number} n
* @return {boolean}
*/
var isPowerOfThree = function(n) {
return n > 0 && n.toString(3).replace(/1/, '') == 0
};