1 import java.util.Scanner;
2
3 /**
4 * Created by Administrator on 14-5-13.
5 * 超级楼梯
6 Problem Description
7 有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?
8
9 Input
10 输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数
11
12 Output
13 对于每个测试实例,请输出不同走法的数量
14
15 Sample Input
16 2
17 2
18 3
19
20 Sample Output
21 1
22 2
23 */
24 public class SuperStairs {
25 public static void main(String[] args){
26 String tempStr=""
;
27 int tempInt=0
;
28 int[] tempArray={0
};
29 Scanner scanner=
new Scanner(System.in);
30 tempStr=
scanner.nextLine();
31 try{
32 tempInt=
Integer.parseInt(tempStr);
33 tempArray=
new int[tempInt];
34 }
catch (NumberFormatException e){
35 System.out.println("输入有误"
);
36 }
37 for(
int i=0;i<tempInt;i++
) {
38 String s =
scanner.nextLine();
39 try {
40 int temp=
Integer.parseInt(s);
41 tempArray[i]=
temp;
42 }
catch (NumberFormatException e){
43 System.out.println("输入有误"
);
44 }
45 }
46 for(
int i=0;i<tempInt;i++
){
47 System.out.println(countStatirs(tempArray[i]));
48 }
49 }
50 public static int countStatirs(
int temp){
51 if(temp==0
)
52 return 0
;
53 else if(temp==1
)
54 return 1
;
55 else if(temp==2
)
56 return 1
;
57 else
58 return countStatirs(temp-1)+countStatirs(temp-2
);
59 }
60 }
转载于:https://www.cnblogs.com/mingcaoyouxin/p/3842128.html