Count ways to reach the n’th stair

There are n stairs. One person will go to 1'st to the n'th stair. Maximum how many stairs he/she can cross in one step is also given. With this information, we have to find possible ways to go to the n'th stairs.

Let us consider one can cross a maximum two stairs in each step. So we can find recursive relations to solve this problem. One can move to n'th stair, either from (n-1)'th stair or from (n-2)'th stair. So ways(n) = ways(n-1) + ways(n-2).

Input and Output

Input:
The number of stairs, say 10 the maximum number of stairs that can be jumped in one step, say 2
Output:
Enter number of stairs: 10
Enter max stair a person can climb: 2
Number of ways to reach: 89

Algorithm

stairClimpWays(stair, max)

Input − number of stairs, maximum stair jump in a single step.

Output − Number of possible ways to reach.

Begin
   define array count of size same as stair number
   count[0] := 1
   count[0] := 1

   for i := 2 to stair -1, do
      count[i] := 0
      for j = 1 to i and j 

Example

#include
using namespace std;

int stairClimbWays(int stair, int max) {
   int count[stair];    //fill the result stair using bottom up manner
   count[0] = 1;       //when there are 0 or 1 stair, 1 way to climb
   count[1] = 1;
   
   for (int i=2; i> stair;
   cout > max;
   cout 

Output

Enter number of stairs: 10
Enter max stair a person can climb: 2
Number of ways to reach: 89
Updated on: 2020-06-16T14:45:40+05:30

531 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements