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 @ 2024-06-13 15:38  liuxuechao  阅读(2)  评论(0编辑  收藏  举报