Recursive Staircase problem in JavaScript


Suppose we have the following problem −

There are n stairs, a person standing at the bottom wants to reach the top. The person can climb either 1 or 2 stairs at a time. We are required to count the number of ways, the person can reach the top.

We are required to write a JavaScript function that takes in a number n that denotes the number of stairs. The function should count and return the number of ways in which the stairs can be climbed.

Example

Following is the code −

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));

Output

Following is the output on console −

89
5
377

Updated on: 11-Dec-2020

520 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements