• acm 2041 java的做法


    Problem Description
    有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?
     
    Input
    输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。
     
    Output
    对于每个测试实例,请输出不同走法的数量
     
    Sample Input
    2 2 3
     
    Sample Output
    1 2
     
    m=2时有1种情况 m=3有2种情况,由此规律可得,如果m个台阶,则跳最后一次可能为一级或者两级。若跳一级,则在m-1的情况加一级,若跳2级,则从m-2的情况下增加两级,可得递推式
    arr[m]=arr[m-1]+arr[m-2];
        import java.util.*;
        
        public class Main {
            public static void main(String[] args) {
                    Scanner in= new Scanner(System.in);    
                    int n=in.nextInt();
                    int [] arr = new int[41];
                    arr[1]=1;
                    arr[2]=1;
                    arr[3]=2;
                    for(int i=4;i<=40;i++){
                        arr[i]=arr[i-1]+arr[i-2];
                        
                    }
                    while(n>0){
                        int m=in.nextInt();
                        System.out.println(arr[m]);
                        n--;
                    }
          }
        }

  • 相关阅读:
    java第九次作业
    java第八次作业
    java第七次作业
    java第六次作业
    java第五次作业
    java第四次作业
    java第三次作业
    java第二次作业
    java第一次作业
    Javascript设计模式-----装饰者模式
  • 原文地址:https://www.cnblogs.com/liaobei/p/6063112.html
Copyright © 2020-2023  润新知