一、特殊情况
1.问题提出
一个顽猴在一座有30级台阶的小山上爬山跳跃。上山一步可上跳1级或3级,求上山有多少种跳法。
2.解题思路
达到第30级之前位于哪一阶呢??有两种情况,其一是第29级,一步跳一阶到达,其二是第27级,一步跳三阶到达。
所以有:
f(30) = f(29) + f(27)
其他以此类推,一般地有递推关系:
f(k) = f(k - 1) + f(k - 3)
而初始条件为:
f(1) = 1
f(2) = 1 (1+1)
f(3) = 2 (1+1+1, 3)
3.程序代码