剑指Offer-斐波那契数列

问题描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

思路:可能出现的情况:(1) n=1 ,一种方法 ;(2)n=2,两种方法;(3)对于第n阶,只能从第n-1阶或者n-2阶跳上,所以得出结论:

              | 1, (n=1)

f(n) =     | 2, (n=2)

              | f(n-1)+f(n-2) ,(n>2,n为整数)

具体代码:

public static void main(String[] args) {
int a =20;//测试数据
System.out.println(JumpFloor(a));
}

public static int JumpFloor(int target) {
if(target <= 0){
return 0;
}else if(target ==1){
return 1;
}else if(target ==2){
return 2;
}else    
return JumpFloor(target -1)+JumpFloor(target-2);
}
作者:starryfeiii
出处:http://www.cnblogs.com/feiii/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,原文链接否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/feiii/p/6044988.html