思路:根据题目描述收首先想到的就是使用递归的方法。
求第38级台阶有多少种走法,第37级台阶…第1级台阶有多少种走法。
而第1级和第2级台阶的走法已知。
代码:
public static void main(String[] args) {
System.out.println(a04(39));
}
public static int a04(int n) {
if (n == 1) {//偶数步 第1级台阶
return 0;
}
if (n == 2) {//奇数步 第2级台阶
return 1;
}
return aa04(n - 1) + aa04(n - 2);
}
public static int aa04(int n) {
if (n == 1) {//奇数步 第1级台阶
return 1;
}
if (n == 2) {//奇数步 第2级台阶
return 1;
}
return a04(n - 1) + a04(n - 2);
}
运行结果:51167078