思路:提供了两种走阶梯的方式,一次一个阶梯或一次两个阶梯
假设:
只有一个阶梯,那么就是1,只有一种方法
有两个阶梯: 1、1
2 有两种方法
有三个阶梯: 1、1、1
1、2
2、1 有三种方法
可以发现当n不断变化,且n>2时,有f(n)=f(n-1)+f(n-2)。所以这里不管n有多大,我们还要反复的执行这个方法,直到这个n等于1或等于2时就可以终止了。
用递归法可以很轻松的实现:
package com.company;
public class Main {
public static void main(String[] args) {
System.out.println(b(4));
}
public static int b(int get) {
if (get == 1) {
return 1;
} else if (get == 2) {
return 2;
} else {
return b(b(get - 2)) + b(b(get - 1));
}
}
}
知识兔