对青蛙跳台阶的个人理解

预备知识

斐波那契数列

斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递归的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)
通俗来讲当n>=2,该元素为前两位的数字之和,依次往后

问题:

一只青蛙要跳上n层高的台阶,一次能跳一阶,也可以跳2阶,请问这只青蛙跳上n层高的台阶有多少种跳法?

基本思路

设青蛙跳上n级台阶有f(n)总方法,f(n)总方法分为两种:

  1. 最后一次跳了一级台阶,这类方法共有f(n-1)种;
  2. 最后一次跳了两级台阶,这类方法共有f(n-2)种。
    因此,可以得出公式:f(n)=f(n-1)+f(n-2),类似斐波那契数列

到这里可能有些人会奇怪通过1和2怎么就得出公式来了。我们从最简单的例子出发来理解一下:
当n = 2的时候,它最后一步要么是跳1阶,要么是跳2阶,各对应一种跳法。
当n = 3的时候,f(3) = f(2) + f(1);这个比较好理解,当青蛙需要跳三阶台阶的时候,它最后一步有两种跳法(注意只要最后一步不同,前面就算再怎么相同,整体跳法都是不同的;就是说这两种跳法是不同的,可以加在一起变成总的跳法),那么f(3)的跳法就分成了两大类,f(3)的跳法就是这两类的和。它要么最后一步跳1阶(最后跳一阶的跳法有f(2)种),它要么最后跳2阶(最后跳2阶的跳法有f(1)种)
推导下去…
当有n阶台阶的时候,青蛙最后一步要么跳一阶,要么跳两阶,因此这里我们姑且就可以把跳法分为这两类了,总的跳法就是这两类的和,即
f(n) = f(n-1) + f(n-2)
如果还无法理解就去看看这句话 “只要最后一步不同,前面就算再怎么相同,整体跳法都是不同的; 就是说这两种跳法是不同的,所以可以加在一起变成总的跳法”

欢迎大家的指正和建议。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值