Computer >> Máy Tính >  >> Lập trình >> Javascript

Kiểm tra Sức mạnh của hai trong JavaScript

Chúng ta được yêu cầu viết một hàm, chẳng hạn như isPowerOfTwo () nhận vào một số dương và trả về một boolean dựa trên thực tế rằng số đó có phải là lũy thừa của 2 hay không.

Ví dụ -

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

Hãy viết mã cho hàm này, nó sẽ là một hàm đệ quy rất đơn giản, nó duy trì lặp lại cho đến khi số vẫn chia hết cho 2, nếu trong quá trình này, số đó giảm dần xuống 1, nó là lũy thừa của 2 nếu không thì nó không phải là ' t. Đây là mã -

Ví dụ

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));

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

false
true
true
true
false