一、确定初始状态 当井高为 1 米时,青蛙只有一种跳法,即一天直接跳 1 米到达井口,所以 f(1)=1。 当井高为 2 米时,青蛙可以一天跳 2 米直接出来,或者分两天每天跳 1 米,这两种情况构成了跳上 2 米高井的所有方法,所以 f(2)=2。 二、推导递推关系 对于井高 n>2 的情况,考虑青蛙最后一步的跳法。 如果最后一步跳 1 米,那么前面 n - 1 米的跳法数量就是 f(n - 1),因为最后一步确定了,只需要考虑前面 n - 1 米的跳法。 如果最后一步跳 2 米,那么前面 n - 2 米的跳法数量就是 f(n - 2),同理最后一步确定为跳 2 米,只需要考虑前面 n - 2 米的跳法。 所以总的跳法数量 f(n)就是前面两种情况的和,即 f(n)=f(n - 1)+f(n - 2)。 三、计算 f(100) 依次计算 f(3)=f(2)+f(1)=2 + 1 = 3。 f(4)=f(3)+f(2)=3 + 2 = 5。 以此类推,逐步计算下去,直到计算出 f(100),就能得到青蛙跳出 100 米井的方法数。

相关推荐

牛客网
牛客企业服务