Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ตรวจสอบพลังของสองใน JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน เช่น 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