# 原题
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。
示例 1:
输入: 1
输出: true
解释: 20 = 1
示例 2:
输入: 16
输出: true
解释: 24 = 16
示例 3:
输入: 218
输出: false
# 解 1:
var isPowerOfTwo = function (n) {
let sum = 1
//只要 2 的幂还小于 n ,就一直继续
while (sum < n) {
sum *= 2
}
return sum === n ? true : false
};
# 解 2:
var isPowerOfTwo = function (n) {
//判断求底运算后是否为整数
return Number.isInteger(Math.log2(n))
};