# Recursive Staircase problem in JavaScript

JavascriptWeb DevelopmentFront End TechnologyObject Oriented Programming

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, steps] = [steps, steps + steps];
}
return steps;
};
console.log(recursiveStaircase());
console.log(recursiveStaircase(4));
console.log(recursiveStaircase(13));

## Output

Following is the output on console −

89
5
377