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

JavaScript의 재귀 계단 문제

<시간/>

다음과 같은 문제가 있다고 가정합니다. -

n개의 계단이 있는데, 맨 아래에 서 있는 사람이 꼭대기에 오르고 싶어합니다. 사람은 한 번에 1개 또는 2개의 계단을 오를 수 있습니다. 우리는 사람이 정상에 도달할 수 있는 방법의 수를 계산해야 합니다.

계단의 수를 나타내는 숫자 n을 받는 JavaScript 함수를 작성해야 합니다. 이 함수는 계단을 오를 수 있는 방법의 수를 세고 반환해야 합니다.

예시

다음은 코드입니다 -

const recursiveStaircase = (num = 10) => {
   if (num <= 0) {
      return 0;
   }
   const steps = [1, 2];
   if (num <= 2) {
      return steps[num - 1];
   }
   for (let currentStep = 3; currentStep <= num; currentStep += 1) {
      [steps[0], steps[1]] = [steps[1], steps[0] + steps[1]];
   }
   return steps[1];
};
console.log(recursiveStaircase());
console.log(recursiveStaircase(4));
console.log(recursiveStaircase(13));

출력

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

89
5
377