问题:
一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级。求该青蛙跳上一个n 级的台阶总共有多少种跳法
已知:
n == 1时:有1种跳法
n == 2时:有2种跳法
n == 3时:有3种跳法
n == 4时:有5种跳法
分析:
当n>2时,第一次跳的时候有两种选择:
如果第一次只跳一级,此时跳法数目等于后面剩下的 n-1 级台阶的跳法数目,即为f(n-1);
如果第一次跳两级,此时跳法数目等于后面剩下的 n-2 级台阶的跳法数目,即为f(n-2).
总跳数为这两种选择的和,即为 f(n-1) + f(n-2) 种跳法. 这和斐波那契数列的求解很相似,只不过这个的第二项是2,而斐波那契数列的第二项是0.
我们用两种递归和循环两种方法来实现这个代码:
一、递归
public class Test {
public static void main(String[] args) {
int num = 4;
System