8-5 【Python0006】爬楼梯
分数 10
作者 doublebest
单位 石家庄铁道大学
【题目描述】 假设一段楼梯共n(n>1)个台阶,小朋友一步最多能上3个台阶,那么小朋友上这段楼梯一共有多少种方法。
【练习要求】请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释。
【输入格式】在一行中输入楼梯台阶的数目n。
【输出格式】输出小朋友上这段楼梯的方法数。
【输入样例】15
【输出样例】5768
def climb_stairs(n):
"""
计算小朋友爬楼梯的方法数
参数:
n (int): 楼梯台阶的数目
返回:
int: 方法数
"""
if n <= 0:
return 0
elif n == 1:
return 1
elif n == 2:
return 2
elif n == 3:
return 4
# 使用动态规划计算方法数
dp = \[0\] \* (n + 1)
dp\[1\] = 1
dp\[2\] = 2
dp\[3\] = 4
for i in range(4, n + 1):
dp\[i\] = dp\[i - 1\] + dp\[i - 2\] + dp\[i - 3\]
return dp\[n\]
\# 获取用户输入
n = int(input("请输入楼梯台阶的数目: "))
\# 调用函数计算方法数并输出结果
methods = climb_stairs(n)
print("小朋友上这段楼梯的方法数:", methods)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2023-05-22 29