题目描述:
给定一个整数,写一个函数来判断它是否是 3 的幂次方。
示例 1:
输入: 27
输出: true
示例 2:
输入: 0
输出: false
示例 3:
输入: 9
输出: true
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/power-of-three
这题不用递归和循环,直接数学计算得了,api调用,话说用循环怎么个解法。。。。 js版本,没有整型判断麻烦多了,不然直接换底公式一弄,判断a是否是整数就完事,js还要逆向求结果,心累。。。
/**
* @param {number} n
* @return {boolean}
*/
var isPowerOfThree = function(n) {
if(n > 0) {
let a = Math.log(n) / Math.log(3);
return Math.pow(3, Math.floor(a)) === n || Math.pow(3, Math.ceil(a)) === n;
}
return false;
};