2024.5.13
8-5 【Python0006】爬楼梯
分数 10
作者 doublebest
单位 石家庄铁道大学
【题目描述】 假设一段楼梯共n(n>1)个台阶,小朋友一步最多能上3个台阶,那么小朋友上这段楼梯一共有多少种方法。
【练习要求】请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释。
【输入格式】在一行中输入楼梯台阶的数目n。
【输出格式】输出小朋友上这段楼梯的方法数。
【输入样例】15
【输出样例】5768
def count_ways(n):
# 创建一个列表来存储每个台阶的上法数目,初始值都为0
ways = [0] * (n + 1)
# 前两个台阶的上法数目分别为1和2
ways[0] = 1
ways[1] = 1
ways[2] = 2
# 计算每个台阶的上法数目
for i in range(3, n + 1):
# 对于当前台阶i,可以从i-1、i-2、i-3这三个台阶走上来
# 所以当前台阶的上法数目为前三个台阶的上法数目之和
ways[i] = ways[i - 1] + ways[i - 2] + ways[i - 3]
return ways[n]
# 输入楼梯台阶的数目n
n = int(input())
# 输出小朋友上这段楼梯的方法数
print(count_ways(n))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通