经典问题19-上台阶问题

这篇博客探讨了如何解决一个经典问题——有n级台阶,每次只能迈上1级或2级,要求刚好用偶数步上完n级台阶。作者提供了三种解法,包括递归思想的应用,并通过Python实现了解法。当n=5时,存在4种不同的上台阶方案。博客中还提供了视频资源以帮助理解。
摘要由CSDN通过智能技术生成

题目

有 n 级台阶
每步只允许迈上 1 级或 2 级
要求刚好用偶数步上完 n 级台阶
求有多少种走法

在这里插入图片描述
比如,当 n = 5时,
只能 4 步(2步无法)
2,1,1,1
1,2,1,1
1,1,2,1
1,1,1,2
所以,一共有 4 种上台阶的方案。

解法1

把走两步看成是一个动作的整体。
这样,完成这个动作后,剩余的台阶仍然要求偶数步上完。
剩余的问题与本问题获得相似性 这是使用递归的关键。

def f(n):
  当 n 很小时,返回结果
  对当前的局面,连走两步有哪些走法?
  for 所有走法:
    令,每种走法消耗的台阶数为 x
    所有走法的 f(n-x) 求和 => t
  返回 t

解法3

考虑定义两个问题:
f1(n) 上 n 级台阶,要求奇数步完成,方案数?
f2(n) 。。。。。,要求偶数步完成,。。。 (即题目中的所求问题)
这样,
f1 中走一步后,可以调用 f2
f2 中走一步后,可以调用 f1
间接递归完成求解

解法2

我们假设根本没有 偶数步 这个要求,
这样就变成了简单的递归问题。
但,
我们可以增加参数,定义辅助函数:
f(n, m)
n 仍然表示剩余的台阶数
m 表示已经走过的步数
这样一来,当递归结束时,可以判断 m 是否符合要求,从而舍弃不合格的方案。

想不通,看代码

# 上台阶问题
# n 级台阶
# 每次只能上 1 级或 2 级
# 要求用偶数步上完台阶
# 求方案数
# 考虑走两步为一个动作单位,有多少种走法?
def step(n):
    if n
最低0.47元/天 解锁文章
可雷曼土
关注 关注
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
台阶前的职场女性PPT背景图片
07-16
总结起来,一张“台阶前的职场女性PPT背景图片”不仅能够提供视觉上的吸引力,还能通过其寓意强化PPT的主题,激发观众的思考。在制作PPT时,巧妙地利用这种具有象征意义的图片,能够使你的演示更加生动有力,从而...
算法练习——上台阶问题
热门推荐
A_cainiao_A
11-25 1万+
算法练习——上台阶问题问题描述】楼梯有s阶台阶,上楼时可以一步上1阶,也可以一步上2阶,编程计算共有多少种不同的走法。 输入 输入的每一行包括一组测试数据,即为台阶数n。最后一行为0,表示测试结束。 输出 每一行输出对应一行输入的结果,即为走法的数目。 样例输入 1 2 3 4 5 0 样例输出 1 2 3 5 8【问题解析】我们现在想象自己已经站在第n级台阶上了,那么我们上一个位
JAVA练习19-II. 青蛙跳台阶问题
qq_48772498的博客
01-15 149
一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 示例 1: 输入:n = 2 输出:2 示例 2: 输入:n = 7 输出:21 示例 3: 输入:n = 0 输出:1 提示: 0 <= n <= 100 分析: 先观察规律: 1 1 1,2 1 1 1,2 1,1 2 1 1 1 1,2 1 1,1 2 1,1 1 2
斐波那契问题——上台阶问题
weixin_49561506的博客
12-14 2028
给定整数N,代表台阶数,一次可以跨2个或者1个台阶,返回有多少种走法。
上台阶问题——利用高中排列组合知识
qq_53794041的博客
04-22 4136
问题描述 一共有num节台阶,一次可以上一节或者上两节,问一共有多少种走法 例如:num = 4,则有一下几种情况: 1. 走四步:一次一节上 2. 走三步:一次两节+两次一节 3. 走两步:两次两节 故上四节楼梯一共有五种走法 思路 若问上五十节台阶有多少种走法 1. 不采用 “一次上两步” 的走法 一共要走50步,每步都上一个台阶,所得结果为: 2. 采用一次 “一次上两步” 的走法 一共要走49步,48步上一个台阶,1步上两个台阶
上台阶问题(递归练习,思路+代码详解)python实现
Kxiansheng111的博客
05-09 3710
ways(n)=ways(n-1)+ways(n-2),因为最后上到第n阶时要么从第(n-2)阶上去的,要么从第(n-1)阶上去的,经过多次递归最后回到ways(2)=ways(0)+ways(1)因为ways(0)==1,ways(1)==1,所以可以计算在经过一次次返回便可求出最后的结果。(正向思维不理解没关系,反向思维比较直观)首先使用递归的方法要先确定一个递归终止点,由题目分析当n==0时,ways(0)==1,当n==1时,ways(1)==1,ways(n)代表上n阶台阶可以采取的方式。
上台阶问题:一个人上台阶,一次可以走1、2、3步,问n个台阶有多少种走法?
大梁的博客
05-14 5610
#include <iostream> using namespace std; int func(int a) { if (a==1 || a==0) { return 1; } if (a<1) { return 0; } if (a==2) { return 2; } return func(a - 1) + func(a - 2) + f...
台阶问题(递归思想)
m0_53697204的博客
10-02 1958
台阶问题,递归思想
flac3d台阶法命令
10-18
综上所述,该FLAC3D脚本详细地描述了一个基于台阶法的开挖过程,通过逐步控制开挖区域以及监测关键位置的变化,实现了对隧道开挖过程的有效模拟。这对于理解不同地质条件下隧道施工的影响及其稳定性具有重要意义。
中泰证券-古井贡酒(000596)省外开疆扩土正酣,全国化再上台阶-230608.pdf
06-19
本文是中泰证券关于古井贡酒的一份研究报告,标题为“中泰证券-古井贡酒(000596)省外开疆扩土正酣,全国化再上台阶-230608”。报告指出,古井贡酒在省外市场的发展战略积极,全国化进程取得了显著进展。分析师范劲松...
javalruleetcode-play-leetcode:用程序解决leetcode的算法问题
06-29
青蛙跳台阶问题 面试题11 旋转数组的最小数字 面试题12 矩阵中的路径 面试题13 机器人的运动范围 面试题14- I 剪绳子 面试题14- II 剪绳子 面试题15 二进制中1的个数 面试题16 数值的整数次方 面试题17 打印从1到...
上台阶问题”的分析
weixin_30530339的博客
10-25 467
这是一个对“上台阶问题”的分析,即有N个台阶,每次最多跨M个台阶,有多少种走法数。首先声明,作者非专业研究算法,之所以想这个问题,是因为02年左右初二的时候被拉去参加一个初中数学竞赛,最后一道题目就是N=10,M=2时候的“上台阶问题”,当时差点一个个去穷举了……所以幼小的心灵留下了深刻的印象,最近偶有所感,又仔细分析了一下,有些感想来和大家分享。 M=2时候特例分析 对...
python上台阶问题_“上台阶问题”的分析
weixin_39720510的博客
12-10 1393
这是一个对“上台阶问题”的分析,即有N个台阶,每次最多跨M个台阶,有多少种走法数。首先声明,作者非专业研究算法,之所以想这个问题,是因为02年左右初二的时候被拉去参加一个初中数学竞赛,最后一道题目就是N=10,M=2时候的“上台阶问题”,当时差点一个个去穷举了……所以幼小的心灵留下了深刻的印象,最近偶有所感,又仔细分析了一下,有些感想来和大家分享。M=2时候特例分析对于N个台阶的走法数F(N),考...
台阶问题(以C语言形式的呈递)(动态规划与DFS算法
2301_79163457的博客
10-07 809
且F(1)=1。
登台阶爬楼梯问题
Elvis__c的博客
05-11 772
登台阶爬楼梯问题 问题描述 有N个台阶,0<N<=50, 每次只跳1个或者3个台阶,输入N, 有多少种方式到达台阶终点 # 示例 1: 输入:n = 3 输出:2 解释:有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶+1阶 2. 3阶 # 示例 2: 输入:n = 4 输出:3 解释:有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 + 1阶 + 1阶 2. 3阶 + 1阶 3. 1阶 + 3阶 很多时候我们自己对问题的描述所呈现的大都基于固有的思想,我们需要在固
上台阶问题
qq_41726230的博客
02-29 1611
上台阶问题简单版 问题描述 现在小瓜想通过台阶走上平台,最底层(小瓜所在的层)编号为1,最顶层编号为n。由于小瓜的腿比较短,他一次只能向上走1级或者2级台阶。小瓜想知道他有多少种方法走上平台,你能帮帮他吗? ...
爬楼梯问题/上台阶问题
ChuanjieZhu
09-08 1960
商汤科技的笔试题。n阶,步长1~m,有时间和内存限制。 基础题: n阶楼梯,每次能走1或2阶,问走到n阶一共多少种走法。 法一:递归 很容易超时 f(0)=1,f(1)=1,f(n)=f(n-1)+f(n-2) #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include&lt;Windows.h&gt; using names...
pandas中数据子集的获取
最新发布
weixin_43597208的博客
10-14 467
通常,在pandas模块中实现数据框子集的获取可以使用iloc、loc和ix三种方法,这三种方法既可以对数据行进行筛选,也可以实现变量的筛选,它们的语法可以表示成[rows_select,cols_select]。iloc只能通过行号和列号进行数据的筛选,可以将iloc中的i理解为’integer’,即只能向[rows_select,cols_select]指定整数列表该索引方式与数组的索引方式类似,都是从0开始,可以间隔取号,对于切片仍然无法取到上限。
写文章

热门文章

  • python3 题解(34 棋盘放麦子) 7728
  • python3 题解(28 级数法求圆周率) 6207
  • python3 题解(29 祖冲之割圆法求圆周率) 5841
  • 介绍一门很有前景的语言Nim(1) 3585
  • 经典问题(20)天平与砝码问题 2960

分类专栏

  • python 58篇
  • scala 1篇
  • golang
  • HASKELL 61篇

最新评论

  • 介绍一门很有前景的语言Nim(1)

    haohuoyao: f6不错

  • python3 题解(29 祖冲之割圆法求圆周率)

    星辰编E者: 收敛速度真的好快,惊叹!

  • python3 题解(21)-约瑟夫环

    baidu_31154017: 每次游戏过程中,移除的小孩都是当前队列中报数为3的小孩。把1、2移动过去,去除3。思维太棒了

  • python3 题解(21)-约瑟夫环

    baidu_31154017: 一个小朋友从队头跑到队尾, 再一个小朋友从队头跑到队尾, 从队头删去一个小朋友。 … 再重复这个过程,直到队里只有一个人。 这是怎么想出来的,逻辑太简单了

  • 介绍一门很有前景的语言Nim(1)

    忘୧ω老路ಥ: 请问如果想要调用一个c++中pcan_basic.h中定义的API在nim中应该怎么声明呢

最新文章

  • 2021年新版-编程基础训练32题-附提示和答案
  • 如何防止耳机打结?
  • 经典编程问题(13)汉诺塔
2021年20篇
2019年124篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家临潼玻璃钢雕塑价格苏州美陈商场山东玻璃钢商场美陈通道商场美陈哪里有庆阳仿真人物玻璃钢雕塑定制吉安动物玻璃钢雕塑市场河南节庆商场美陈批发上海天鹅景观雕塑玻璃钢阜阳玻璃钢卡通雕塑批发江西人物玻璃钢雕塑定制太原特色玻璃钢雕塑供应商苏州玻璃钢雕塑定做厂家九台区玻璃钢雕塑工程产品介绍南京清远玻璃钢动物雕塑十二生肖玻璃钢雕塑多少钱天津户外玻璃钢雕塑福建省人物玻璃钢雕塑杭州玻璃钢雕塑私人定做上海玻璃钢陶瓷雕塑介绍玻璃钢雕塑开模招聘武汉大型玻璃钢卡通雕塑河池玻璃钢雕塑工作室长乐玻璃钢胸像雕塑沧州卡通玻璃钢雕塑定做彭州玻璃钢雕塑嘉峪关玻璃钢雕塑公司广州萝岗商场美陈南京人物玻璃钢雕塑哪家便宜佛山玻璃钢影视道具雕塑制作黔南玻璃钢雕塑制作厂家香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化