Skip to main content

Climb Stairs

1. You are given a number n, representing the number of stairs in a staircase.

2. You are on the 0th step and are required to climb to the top.

3. In one move, you are allowed to climb 1, 2 or 3 stairs.

4. You are required to print the number of different paths via which you can climb to the top.

Input Format

A number n

Output Format

A number representing the number of ways to climb the stairs from 0 to top.


Constraints

0 <= n <= 20

Sample Input

4

Sample Output

7


Solution:

import java.io.*;
import java.util.*;

public class Main {

    public static void main(String[] args) throws Exception {
        // write your code here
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        System.out.println(WaysUp(n));
    }

    public static int WaysUp(int n){
        if(n == 0)  return 0;
        else if(n<0)    return -1;
        int[] A = new int[n+1];
        A[0] = 1;
        for(int i=1;i<=n;i++){
            A[i] = A[i-1];
            if(i>= 2)
                A[i] += A[i-2];
            if(i>=3)
                A[i] += A[i-3];
        }
        return A[n];
    }
}

Comments

Must Read:

Software Engineering Concepts Basics Of Testing Pre-Quiz

  Software Engineering Concepts       Basics Of Testing            Pre-Quiz | Software Engineering Concepts  Basics Of Testing  Pre-Quiz | Software Engineering Concepts  Requirement Analysis  Post-Quiz Software Engineering Concepts  Requirement Analysis  Test Your Understanding Software Engineering Concepts  Requirement Analysis  Pre-Quiz Software Engineering Concepts  Software Maintenance  Test Your Understanding Software Engineering Concepts  Software Maintenance  Post-Quiz Software Engineering Concepts  Software Maintenance  Pre-Quiz Software Engineering Concepts  Software Engineering Fundamentals  Post-Quiz Software Engineering Concepts  Software Engineering Fundamentals  Pre-Quiz Algorithm Analysis and Design Concepts  Data Structure and Algorithms  Post-Quiz Software Engineering Concepts  Configuration Management And V...

Mock 3 Slot3 - Handson - 21st July RDBMS (20 Marks) 2.1 Customer details

Write a query to display customer id, customer name, and password of customers whose name starts with 'A'. The password contains the first 3 characters from the name and the first 3 digits from the phone number.  Give alias name for password as PASSWORD. Sort the records based on id in descending order. ( Hint: Retrieve data from Customers tables ) Evaluation Result: Result Description Summary of tests:(Note:Your query is evaluated against different datasets. Kindly do not Hardcode) +------------------------------+ | 2 tests run / 2 test passed | +------------------------------+

Unbounded Knapsack

1. You are given a number n, representing the count of items. 2. You are given n numbers, representing the values of n items. 3. You are given n numbers, representing the weights of n items. 3. You are given a number "cap", which is the capacity of a bag you've. 4. You are required to calculate and print the maximum value that can be created in the bag without      overflowing it's capacity. Note: Each item can be taken any number of times. You are allowed to put the same item again                    and again. Input Format A number n v1 v2 .. n number of elements w1 w2 .. n number of elements A number cap Output Format A number representing the maximum value that can be created in the bag without overflowing it's capacity Constraints 1 <= n <= 20 0 <= v1, v2, .. n elements <= 50 0 < w1, w2, .. n elements <= 10 0 < cap <= 10 Sample Input 5 15 14 10 45 30 2 5 1 3 4 7 Sample Output 100 Solution: im...

Accenture Mock Quiz | Part 1

Question  1 Incorrect Marked out of 1.00 Remove flag Question text Select the true statement ? Select one: a.  Inheritance forms a is-a part of relationship between classes.   b.  Aggregation is the stronger form of Inheritance. c.  Aggregation forms the is-a type of relationship between classes. d.  Aggregation forms a is-a part of relationship between classes. Composition is the stronger form of Aggregation. Feedback The correct answer is: Aggregation forms a is-a part of relationship between classes. Composition is the stronger form of Aggregation. Question  2 Correct Marked out of 1.00 Flag question Question text What is the diagram that depicts the interaction between objects by arranging the objects in time sequence ? Select one: a.  Use Case Diagram b.  Sequence Diagram   c.  Component Diagram d.  Activity Diagram Feedback The correct answer is: Sequence Diagram Question  3 Incorrect Marked out of 1.00 Flag question...

Inverted Pattern

  /* @ToDo  Inverted Pattern 1   2   3   4   5    1   2   3   4    1   2   3    1   2    1    */ #include   <iostream> using   namespace   std ; int   main (){       #ifndef  ONLINE_JUDGE          freopen ( "../asset/input.txt" , "r" , stdin );          freopen ( "../asset/output.txt" , "w" , stdout );     #endif     // Code here!!      int   n ;  cin >> n ;      for ( int   i = 0 ; i < n ; i ++){          for ( int   j = 1 ; j <= n - i ; j ++)  ...

Basics of Java | Operators | Day 1

Problem: Operators are symbols that perform operations on variables and values. For example, + is an operator used for addition , while * is also an operator used for multiplication . Operators in Java can be classified into 6 types: Arithmetic Operators Assignment Operators Relational Operators Logical Operators Unary Operators Bitwise Operators References: Click Here . We will discuss about arithmetic operators and rest you can study from the references mentioned above. Arithmetic Operators: Arithmetic operators are used to perform arithmetic operations on variables and data. For example, a + b; Here, the + operator is used to add two variables a and b. Similarly, there are various other arithmetic operators in Java. Operator Operation + Addition - Subtraction * Multiplication / Division % Modulo Operation (Remainder after division) Task: You are given two integers as input a and b You need to perform several...

0-1 Pattern

  /* @ToDo  0-1 Pattern     1     0   1     0   1   0     1   0   1   0     1   0   1   0   1 */ #include   <iostream> using   namespace   std ; int   main (){       #ifndef  ONLINE_JUDGE          freopen ( "../asset/input.txt" , "r" , stdin );          freopen ( "../asset/output.txt" , "w" , stdout );     #endif     // Code here!!      int   n ;  cin >> n ;      int   sign  =  1 ;      for ( int   i = 1 ; i <= n ; i ++){    ...

Software Engineering Concepts Basics Of Testing Test Your Understanding

 Software Engineering Concepts       Basics Of Testing            Test Your Understanding Software Engineering Concepts  Basics Of Testing  Test Your Understanding | Software Engineering Concepts  Basics Of Testing  Pre-Quiz | Software Engineering Concepts  Requirement Analysis  Post-Quiz Software Engineering Concepts  Requirement Analysis  Test Your Understanding Software Engineering Concepts  Requirement Analysis  Pre-Quiz Software Engineering Concepts  Software Maintenance  Test Your Understanding Software Engineering Concepts  Software Maintenance  Post-Quiz Software Engineering Concepts  Software Maintenance  Pre-Quiz Software Engineering Concepts  Software Engineering Fundamentals  Post-Quiz Software Engineering Concepts  Software Engineering Fundamentals  Pre-Quiz Algorithm Analysis and Design Concepts  Data Structure...

RDBMS Data Definition Language | Alter -Modify the field type

Write a query to change the field type weight varchar(20) in Mobile_specification table to number(10). Result Description Summary of tests +------------------------------+ | 3 tests run / 3 test passed | +------------------------------+

Subscribe to Get's Answer by Email