数字马力内推
随时帮忙跟进进度
前端/后端/测开/数据开发
前端/后端/测开/数据开发
全部评论
秋招已经开始了,扫码投递
已投,求后续跟进
nyx 测试开发校招
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
一笑而过2222:一、确定初始状态
当井高为 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 米井的方法数。
点赞 评论 收藏
分享
点赞 评论 收藏
分享