在JavaScript中检查2的幂

我们需要编写一个函数,说isPowerOfTwo()该函数接受一个正数,并根据该数字是否为2的幂的事实返回布尔值。

例如-

console.log(isPowerOfTwo(3)); //false
console.log(isPowerOfTwo(32)); //true
console.log(isPowerOfTwo(2048)); //true
console.log(isPowerOfTwo(256)); //true
console.log(isPowerOfTwo(22)); //false

让我们为该函数编写代码,它将是一个非常简单的递归函数,它将一直重复执行直到数字被2整除。如果在此过程中,数字一直减小到1,则它是2的乘方,否则不是。这是代码-

示例

const isPowerOfTwo = num => {
   if(num === 1){
      return true;
   };
   if(num % 2 !== 0){
      return false;
   }
   return isPowerOfTwo(num / 2);
}
console.log(isPowerOfTwo(3));
console.log(isPowerOfTwo(32));
console.log(isPowerOfTwo(2048));
console.log(isPowerOfTwo(256));
console.log(isPowerOfTwo(22));

输出结果

控制台中的输出将为-

false
true
true
true
false