青蛙跳台阶问题
从自己的博客转载过来的。
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 公式不能在hexo上显示出来
解题思路:函数思想,把n阶台阶的跳法看成是关于n的函数 f(n)。当n>2的时候:
假设第一次跳一个台阶,那么还剩n-1个台阶需要跳,也就是还有f(n-1)的跳法。
假设第一次跳两个台阶,那么还剩n-2个台阶需要跳,也就是还有f(n-2)的跳法
所以n阶的跳法总共有f(n-1) + f(n-2) 种,也就是 f(n) = f(n-1) +f(n-2)。
所以函数就是 :
f ( n ) = { 0 n=0 1 n=1 2 n=2 f ( n − 1 ) + f ( n − 2 ) n>2 f(n)= \begin{cases} 0& \text{n=0}\\ 1& \text{n=1}\\ 2& \text {n=2}\\ f(n-1)+f(n-2)& \text {n>2} \end{cases} f(n)=⎩⎪⎪⎪⎨⎪⎪⎪⎧