# 检测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
6
7

# 想一想再看答案

# 想一想再看答案

# 想一想再看答案

# 代码:

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支持我一下~

最后更新时间: 8/2/2019, 12:38:18 PM