這個(gè)問題本質(zhì)上是斐波那契數(shù)列,假設(shè)只有一個(gè)臺階,那么只有一種跳法,那就是一次跳一級,f(1)=1;如果有兩個(gè)臺階,那么有兩種跳法,第一種跳法是一次跳一級,第二種跳法是一次跳兩級,f(2)=2。如果有大于2級的n級臺階,那么假如第一次跳一級臺階,剩下還有n-1級臺階,有f(n-1)種跳法,假如第一次條2級臺階,剩下n-2級臺階,有f(n-2)種跳法。這就表示f(n)=f(n-1)+f(n-2)
public class Nstep {
public static int go(int n) {
if(n <= 0){
return 0;
}
if (n == 1) {
return 1;
}
if (n == 2) {
return 2;
}
return go(n-1) + go(n-2);
}
public static void main(String[] args) {
System.out.println(go(5));
}
}