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))
标签:13,台阶,2024.5,ways,上法,楼梯,小朋友,数目 From: https://www.cnblogs.com/luoqingci/p/18246009