斐波那契数列在很多题中都是隐含的,要先挖掘题目中的规律,才知道这题原来就是个斐波那契数列。
例题1:青蛙跳台阶问题
一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个n级台阶总共有多少种跳法。
思路:如果n是个足够大的数字,那么在跳了1级或者两级之后,还是要重复同样可能的操作。如果跳n级阶梯有f(n)种跳法,那么挑1级,则还有f(n-1),如果它跳2级,则还有f(n-2),所以,得出f(n)=f(n-1)+f(n-2),显然就是斐波那契数列。
例题2:我们可以用2x1的小矩形横着或者竖着去覆盖更大的矩形。请问用8个2X1的小矩形无重叠地覆盖一个2x8的大矩形,总共有多少种方法?
思路:从左至右填充,要是先横着,那么下面的2个空格也必须是横着,要是竖着,就等于处理7个2X1的子问题,则得到f(8)=f(7)+f(6)