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))

 

posted @   liuxuechao  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示