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

Last Updated: 10/24/2018, 8:07:31 PM