우리는 양수를 받아서 그 수가 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