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

更新日期:2020 年 8 月 26 日

2K+ 瀏覽量

開啟你的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.