package jianzhiOffer;
/**
* 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。
* 求该青蛙跳上一个n级的台阶总共有多少种跳法。
* @author user
*思路:这跟上一个只能跳一级和两级的思路一样
*这个可以用数学来解释,F(n) = F(n-1)+F(n-2)+...+F(1)
*F(n-1) = F(n-2)+F(n-3)+...+F(1)
*两个式子相减,很容易得出F(n)=2F(n-1)
*
*/
public class ch09 {
public static int JumpMethodNumber(int n) {
if(n <= 0) {
return 0;
} else if(n == 1) {
return 1;
} else {
return JumpMethodNumber(n - 1) * 2;
}
}
public static void main(String[] args) {
System.out.println(JumpMethodNumber(5));
}
}
剑指offer09
原文:http://blog.51cto.com/12222886/2060705