今天蹲大的时候,想着这道题,逆向想通了,记下来。

题目:

有N级阶梯,往上走的时候,有两种走法:走1级或走2级。问,蹬上N级阶梯,总共有多少总解法。

正向想很容易陷进去前面走的是否有重复、交叉一类的思维陷阱中。逆向就好想了:

我们先假设:N级阶梯总共有k(n)中解法。

人在走最后一步的时候,只有两种解法:走一步或走两步。所以,k(n)就和k(n-1)和k(n-2)有关。即:

k(n) = :

1. k(n-1)后,再往上走一步。由于此时只有“走一步”这一种解法,所以仍然是k(n-1)种解法;

2.k(n-2)后,再往上走两步。同上,此时只有“走两步”这一种解法(如果:往上连续走两个一步,那最后一步就是2步而不是1步了,就该归到k(n-1)中了),所以,此时还是k(n-2)种解法;

因此,可以得到递推公式:

k(n) = k(n-1) + k(n-2)

其中,k(1) = 1, k(2) = 2.

这个数列是啥?就是斐波那契数列。

蹬N级阶梯有几种走法相关推荐

  1. 有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?请编程实现。

    有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?请编程实现. 输入: 输入一个整数M(1<=M<=20),表示楼梯的级数. 输出: 输出不同走法 ...

  2. 题目3:一段楼梯共n级台阶,规定每一步只能跨一级或两级或三级。要等上第n级台阶共有几种走法?

    题目3:一段楼梯共n级台阶,规定每一步只能跨一级或两级或三级.要等上第n级台阶共有几种走法? 斐波那契数列问题:递归或动态规划均可解此类问题.跳台阶是典型应用之一. 思路:我们先从最后开始考虑,因为规 ...

  3. 超级楼梯——有一楼梯共n级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第n级,共有多少种走法?

    有一楼梯共n级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第n级,共有多少种走法? 现在给你一个正整数n(0<n<40),请你输出不同的走法数. 如n=2,则输出1(你只有一种走 ...

  4. N级台阶,一次上1级或2级或3级或M级,总共有多少种走法

    思路 先分析最简单的,也就是每次要不上1级,要么上2级. 这个问题需要反过来思考才能比较容易的找到规律.总共有N级台阶,因为每次要么上1级要么上2级,因此对于第N级台阶来说,它的前一步要么是在N-1级 ...

  5. 字节算法题--N阶台阶,每次走一步或两步,计算共有多少种走法,并将每种走法打印出来。

    N阶台阶,每次走一步或两步,计算共有多少种走法,打印出每种走法. 一 走台阶算法(本质上是斐波那契数列)在面试中常会遇到,描述就如题目那样:总共100级台阶(任意级都行),小明每次可选择走1步.2步或 ...

  6. n级阶梯,人一步只能上1~2级,求一共有几种走法?

    B站上有这样一道题: 大厂算法很难!力扣经典算法解析,小白也能懂!_哔哩哔哩_bilibili数据结构和算法可以让程序员脱胎换骨,刷算法题可以帮助我们通过面试和笔试,找到梦寐以求的工作,进入一线大厂或 ...

  7. N级台阶(比如100级),每次可走1步,2步,3步,求总共有多少种走法?

    算法题:N级台阶(比如100级),每次可走1步,2步,3步,求总共有多少种走法? 平常不怎么研究算法,直到一次面试后,面试官给我了一个算法题,因为平常没有去看过类似的东西,所以就做错了 根据上面的题目 ...

  8. Python超级详细的上台阶楼梯问题,算法运行速度极快,内含计算排列的方法。问题:有n级台阶,每步可以走一级或两级,问有多少种不同的走法。k为传入的参数,默认值为3

    看到此题,我们要回忆一下高中数学的排列组合问题 一.先从一个例子分析一下这个题目('1'是每次上一级台阶,'2'是每次上两级提台阶) 假如有5级台阶,则有(1,1,1,1,1).(1,1,1,2).( ...

  9. 冬冬爬楼梯,一步可以1级,也可以爬2级、3级。冬冬很可爱,每到一处楼梯处,他都想知道直完这个楼梯有多少种走法。但由于有的时候楼梯级数太多,可能是个天文数字,很显然,对于还处于小学5年级的冬冬是不太现实

    冬冬爬楼梯,一步可以1级,也可以爬2级.3级.冬冬很可爱,每到一处楼梯处,他都想知道直完这个楼梯有多少种走法.但由于有的时候楼梯级数太多,可能是个天文数字,很显然,对于还处于小学5年级的冬冬是不太现实 ...

最新文章

  1. SCRFD is not in the models registry
  2. python 科学计算基础教程电子版-Python 科学计算基础 (整理)
  3. hdu 5542(树状数组优化dp)
  4. erlang精要(18)-以函数作为参数的函数,返回函数的函数(1)
  5. IE haslayout的理解与bug修复
  6. 朱明亮:参与开源软件让业余时间更有意义
  7. QQ无法安装,不用着急,用毒霸2011来解决
  8. promise的状态以及api介绍_前端 api 请求缓存
  9. junit 测试目录_JUnit 5测试中的临时目录
  10. 卡尔曼滤波算法及C语言实现(转载)
  11. 30分钟彻底弄懂flex布局
  12. BZOJ 1619 [Usaco2008 Nov]Guarding the Farm 保卫牧场:dfs【灌水】
  13. [Luogu 1197] JSOI2008 星球大战
  14. EPIVAN | 基于预训练和注意力机制的启动子增强子相互作用预测
  15. Ubuntu 18.04 ——— ROVIO运行与EVO的评测与使用
  16. 哈尔滨计算机职业学校赵梓琦,哈尔滨赛区复选晋级名单
  17. Druid连接池耗尽问题排查总结
  18. 猿创征文|项目中使用Git,解决一些项目开发中常见的Git问题
  19. Vue 路由参数传递
  20. 使用Oh-My-Posh美化FluentTerminal

热门文章

  1. JavaScript响应键盘不再用KeyboardEvent.keyCode,而是用keyboardEvent.code
  2. github入门必备概念
  3. SNMP功能开发简介 一 net-snmp编译与安装
  4. 小而美的个人博客——前端——tags
  5. 电脑越来越慢怎么办_电脑维修|你的电脑肯定遇到过这些故障
  6. mysql 浏览器可视窗口_浏览器窗口的可视区域大小指的是哪里?
  7. nginx 官方手册 php,nginx + php 的配置
  8. 公务员要过英语六级吗计算机,报考2020年国家公务员考试,必须要过英语四六级吗?...
  9. 判断字符串_python实现--判断回文字符串、回文链表、回文数
  10. oracle是堆屎山,Oracle NUMBER 类型细讲