w3resource

JavaScript: Distinct ways to climb the staircase

JavaScript Math: Exercise-104 with Solution

A staircase consists of N steps, and you are given the choice of climbing one step at a time or two steps at a time.
Write a JavaScript program to find the distinct ways you can climb the staircase.

Example:
Number of stairs = 2
There are 2 ways to climb the stairs: (1,1) and (2)
Number of stairs = 3
There are 3 ways to climb the stairs: (1,1,1), (2,1) and (1,2)

Visualisation:

JavaScript Math: Distinct ways to climb the staircase.

Test Data:
(2) -> 2
(3) -> 3

Sample Solution:

HTML Code:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JavaScript program to Distinct ways to climb the staircase</title>
</head>
<body>

</body>
</html>

Solution-1

JavaScript Code:

function test(n) {
    var x = 0,
        y = 1;
    while(n-->0){
        y = x + y;
        x = y - x;
    }
    return b;
 }

n = 2
console.log("Number of stairs = " +n)
console.log("Number of ways to climb the said number of stairs: "+test(n));
n = 3
console.log("Number of stairs = " +n)
console.log("Number of ways to climb the said number of stairs: "+test(n));

Sample Output:

Number of stairs = 2

Flowchart:

JavaScript: Distinct ways to climb the staircase.

Live Demo:

See the Pen javascript-math-exercise-104 by w3resource (@w3resource) on CodePen.


Solution-2

JavaScript Code:

function test(n) {
    nums=[];
    nums[1]=1;
    nums[2]=2;
    for(i=3;i<=n;i++){
        nums[i]=nums[i-1]+nums[i-2];
     }
    return nums[n];
 }

n = 2
console.log("Number of stairs = " +n)
console.log("Number of ways to climb the said number of stairs: "+test(n));
n = 3
console.log("Number of stairs = " +n)
console.log("Number of ways to climb the said number of stairs: "+test(n));

Sample Output:

Number of stairs = 2
Number of ways to climb the said number of stairs: 2
Number of stairs = 3
Number of ways to climb the said number of stairs: 3

Flowchart:

JavaScript: Distinct ways to climb the staircase.

Live Demo:

See the Pen javascript-math-exercise-104-1 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus

Previous: Product of two non-negative integers as strings.
Next: Javascript Array Exercises

Next: Conversion of integers to English words.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.

JavaScript: Tips of the Day

Shorten an array using its length property

A great way of shortening an array is by redefining its length property.

let array = [0, 1, 2, 3, 4, 5, 6, 6, 8, 9]
array.length = 4
// Result: [0, 1, 2, 3]

Important to know though is that this is a destructive way of changing the array. This means you lose all the other values that used to be in the array.

Ref: https://bit.ly/2LBj213