N 阶楼梯上楼问题 - 九度教程第 93 题

这是一个关于N阶楼梯上楼问题的动态规划解析,介绍了如何求解当楼梯阶数为N时的上楼方式个数。通过递推公式F[n] = F[n - 1] + F[n - 2],结合初始条件F[1] = 1,F[2] = 2,可以解决2≤N<90的楼梯问题。该问题来源于2008年华中科技大学计算机保研机试真题。
摘要由CSDN通过智能技术生成

N 阶楼梯上楼问题 - 九度教程第 93 题

题目

时间限制:1 秒 内存限制:128 兆 特殊判题:否
题目描述:
N 阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式。(要求采用非递归)
输入:
输入包括一个整数 N,(1<=N<90)。
输出:
可能有多组测试数据,对于每组数据,输出当楼梯阶数是 N 时的上楼方式个数。
样例输入:
4
样例输出:
5
来源:
2008 年华中科技大学计算机保研机试真题

这个问题就是一个典型的递推问题。若我们把 N 分别等于 1、2、3……的答案依次排列为一个数列,即需求这个数列每一个数的值。定义 F[n]为数列中第 n 个数,同时 F[n]为台阶总数为 n 时的上台阶方式总数。首先,当数据规模较小时可以直接得到答案,如 F[1] = 1,F[2] = 2。其次必须确定数列间的递推关系。当 n 大于 2 时,考虑每种上台阶方式的最后一步,由于只有两种行走的方法,因此它只可能是从 n-1 阶经过一步走到 n 阶,或者从 n-2 阶经过二步走到 n 阶。

分别考虑这两种走法,即将此时所有的上楼梯方式按照最后一步走法的不同分成两类,分别确定这两类的上楼梯方式数目。经 n-1阶到达 n 阶,因为其最后一步是确定的,所以其上楼梯方式数量与原问题中到达n-1 阶的方式数量相同,同为 F[n - 1];同理,经 n-2 阶

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值