# 检测 2 的幂次

# 难度:简单

# 描述:

检测整数 n 是否是 2 的幂次

# 样例:

n=8,返回 true;

n=10,返回 false.

# 思路分析:

使用Math.pow()来检测当前值是否为 2 的幂次

# 代码模板:

/**
 * @param n: An integer
 * @return: True or false
 */
const checkPowerOf2 = function(n) {}
1
2
3
4
5

# 想一想再看答案

# 想一想再看答案

# 想一想再看答案

# 代码:

const checkPowerOf2 = function(n) {
	var i = 0
	// 一步步增加2的幂次 并对比
	while (i < 32) {
		let multiple = Math.pow(2, i) // 当前幂次
		if (n === multiple) {
			return true // 是2的幂次
		}
		if (multiple > n) return false // n小于当前幂次 return false 取消无 用遍历 缩短运行时间
		i++
	}
	return false
}
console.log(checkPowerOf2(8), checkPowerOf2(10))
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 点个Star支持我一下~