Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 2의 거듭제곱 확인

<시간/>

우리는 양수를 받아서 그 수가 2의 거듭제곱인지 아닌지에 따라 부울을 반환하는 isPowerOfTwo()와 같은 함수를 작성해야 합니다.

예를 들어 -

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