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

JavaScript에서 재귀를 사용하여 10진수에서 2진수로 변환

<시간/>

숫자를 첫 번째이자 유일한 인수로 사용하는 JavaScript 함수를 작성해야 합니다. 함수는 재귀를 사용하여 해당 숫자의 이진 표기법을 나타내는 문자열을 구성해야 합니다.

예:

f(4) = '100'
f(1000) = '1111101000'
f(8) = '1000'

예시

다음은 코드입니다 -

const decimalToBinary = (num) => {
   if(num >= 1) {
      // If num is not divisible by 2 then recursively return proceeding
      // binary of the num minus 1, 1 is added for the leftover 1 num
      if (num % 2) {
         return decimalToBinary((num - 1) / 2) + 1;
      } else {
         // Recursively return proceeding binary digits
         return decimalToBinary(num / 2) + 0;
      }
   } else {
      // Exit condition
      return '';
   };
};
console.log(decimalToBinary(4));
console.log(decimalToBinary(1000));
console.log(decimalToBinary(8));

출력

다음은 콘솔의 출력입니다 -

100
1111101000
1000