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

思路:

如果思维逻辑不是特别强可以先试着理解第一种方法,然后学习第二种方法利用递归,代码比较简单

如果最后还是不理解就自己画几个台阶,数一下一层1种跳法,两层2种跳法,三层3种跳法,四层5种跳法,五

层。。。。

斐波那契数列:

斐波那契数列指的是这样一个数列: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368。

可以观察到,从第3个数开始,每个数的值都等于前连个数之和。

同时,定义f(0)=0, f(1)=1.

则 f(2)=f(1)+f(0)=1;

  f(3)=f(2)+f(1)=2;

  ... 依次类推,

  f(n)=f(n-1)+f(n-2)

该问题实质是斐波那契数列求和,递推公式为 f(n)=f(n-1)+f(n-2);

可以考虑,小青蛙每一步跳跃只有两种选择:一是再跳一级阶梯到达第 i 级阶梯,此时小青蛙处于第 i-1 级阶梯;

或者再跳两级阶梯到达第 i 级阶梯,此时小青蛙处于第 i-2 级阶梯。

小青蛙跳n层的有f(n)种跳法,跳到n-1层时是分f(n-1)种跳法,跳到n-2层时是f(n-2)种跳法

所以f(n)=f(n-1)+f(n-2)