问题:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
解答1:拿到题目,和不变态的青蛙不一样,这只青蛙比较变态。一次可以跳很多阶台阶。我们首先找关系:
一阶台阶:(1)
两阶台阶:(1+1),(2)
三阶台阶:(1+1+1),(2+1),(1+2),(3)
四阶台阶:(1+1+1+1),(2+1+1),(1+2+1),(3+1),(1+1+2),(2+2),(1+3),(4)
可以看出,与每一阶都有关系。
F(n)=F(n-1)+F(n-2)+F(n-3)+…+1
F(n-1)=F(n-2)+F(n-3)+F(n-4)+…+1
综合上述公式:
F(n)-F(n-1)=F(n-1)
得:
F(n)=2*F(n-1)
使用递归:
不使用递归:
可以使用<<