问题描述:一只青蛙一次可以跳上1个台阶,也可以跳上2个台阶。问该青蛙跳上一个n级台阶总共有多少种跳法。
分析:首先考虑最简单的情况,如果只有一个台阶,那只有一种跳法,如果有两个台阶,就会有两个跳法,一次跳一阶,一次跳两阶。
如果把n个台阶看成n的函数f(n),当n>2时,第一次跳的时候有两种选择,
假如跳一个台阶,那么就是后面的n-1个台阶数,
假如第一次跳两个台阶,那么就是后面的n-2个台阶数,
根据排列组合里的加法原理,那么会有f(n)=f(n-1)+f(n-2). 由此可以看出这其实就是斐波那契数列。
具体关于斐波那契数列的解法,可以参考我之前的博客文章http://www.cnblogs.com/guozhenqiang/p/5489081.html。
博客里解释的很详细,这里我就不再解释了,