题目
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
先自己算一下:
n=1的时候,1种跳法。
n=2的时候,2种跳法。
n=3的时候,4种跳法。
n=4的时候,8种跳法。
n=5的时候,16种跳法。
是有规律的!!!于是:
代码(递归解法与普通解法)
public class test09 {
public static void main(String[] args) {
int target = 6;
JumpFloorII1(target);
JumpFloorII2(target);
}
/**
* 递归方法
*
* @param target
* @return
*/
private static int JumpFloorII2(int target) {
if (target == 1) {
return 1;
} else {
return 2 * JumpFloorII2(target - 1);
}
}
/**
* 非递归方法
*
* @param target
* @return
*/
public static int JumpFloorII1(int target) {
if (target == 0) {
return 0;
} else {
return (int) Math.pow(2, target - 1);
}
}
}