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

숫자의 가장 가까운 거듭제곱 2 - JavaScript

<시간/>

숫자를 받아서 입력 숫자에 가장 가까운 2의 거듭제곱으로 나타낼 수 있는 숫자를 반환하는 JavaScript 함수를 작성해야 합니다.

예를 들어 -

입력 숫자가 365인 경우 출력은 256이어야 합니다. 256은 n의 일부 정수 값에 대해 2^n으로 나타낼 수 있는 365에 가장 가까운 숫자이기 때문입니다.

예시

이 함수의 코드를 작성해 봅시다 -

const num = 365;
const nearestPowerOfTwo = num => {
   // dealing only with non-negative numbers
   if(num < 0){
      num *= -1;
   }
   let base = 1;
   while(base < num){
      if(num - base < Math.floor(base / 2)){
         return base;
      };
      base *= 2;
   };
   return base;
};
console.log(nearestPowerOfTwo(num));

출력

콘솔의 출력:−

256