1:题目
一只青蛙一次可以跳上 1 级台阶,也可以跳上 2 级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。
2:解题思路
一看到这种问题,可能一下子没有什么思路,不知道从哪里着手分析,那我们就从最简单的情况开始分析。
假如 n = 1,一共有一级台阶,显然就只有一种跳法。
假如 n = 2,一共有两级台阶,那么可以每次跳一级跳两次,或者也可以一次跳两级,也就是说一共有两种跳法(1+1)。
假设n=3,当第一次跳一级时,还剩两级台阶,利用两次台阶的跳法,此时有两种跳法;当第一次跳二级时,还剩一级台阶,利用一级台阶的跳法,此时只有一种跳法。所以共有三种跳法(2+1)。
假设n=4,当第一次跳一级时,还剩三级台阶,此时利用三级台阶的跳法,此时有三种跳法;当第一次跳二级时,此时还剩二级台阶,利用二级台阶的跳法,此时有两种跳法。所以共有五种跳法(3+2)。
由此可以看出,n 越大跳法就越多,我们可以发现一个规律,就是把 n 拆分成各个比他小的数来分析,有点像分而治之的思想,即把大问题划分为若干个小问题来处理,最后再把小问题汇总去解决大问题。
通过上面的分析,
先假设 f(n) 为 n 级台阶的总跳法数,那么第一次如果选择跳一级的话,剩下的 n-1 级台阶的跳法数就为 f(n-1)。如果第一次跳两级的话,剩下的 n-2 级台阶的跳法就是 f(n-2),现在青蛙一次只能跳一级或两级,我们可以退出问题的公式:
3
以上的方法会存在重复计算的问题,我们可以保存每次计算的结果,下次直接引用来解决这个问题。也可以使用for循环:
如果你觉得这篇文章有用,记得分享给其他的小伙伴,大家一起进步哦~~~
扫一扫 关注我的公众号
如果你想要跟大家分享你的文章,欢迎留言投稿~
如果你喜欢,请留下你的赞哦。
如果有疑问,记得留言哦。