题目描述:
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
思路:
当n=1时:跳法 = 1 种 (1) 备注:1指的是一次跳一个台阶
当n=2时:跳法 = 2 种 (1+2) 备注: 一次1个台阶并连续跳两次,一次2个台阶
当n=3时:跳法 = 3 种 (1+(2+1)+(1+2)) 备注: 一次1个台阶并连续跳3次,一次2个台阶和一次1个台阶,一次1个台阶和一次2个台阶
当n=4时:跳法 = 5种 (1+(2+2)+(2+1+1)+(1+1+2)+(1+2+1)) 备注:与上同理
当n=5时:跳法 = 8种 (1+(1+1+2+1)+(1+2+1+1)+(1+1+1+2)+(2+1+1+1)+(2+2+1)+(1+2+1)+(1+2+2) 备注: (与上同理)
........
可以得出规律 F(n) = F(n-1)+F(n-2) F(1) = 1,F(2)=2
代码:
扫描二维码关注公众号,回复:
9197524 查看本文章
package offer;
public class TestNo8 {
public static void main(String[] args) {
System.out.println(new TestNo8().JumpFloor(4));
}
public int JumpFloor(int target) {
if(target == 1){
return 1;
}
else if(target==2){
return 2;
}
else
return JumpFloor(target-1)+JumpFloor(target-2);
}
}