5.31

今日总结

python测试5

def climb_stairs(n):
# 初始化基础状态
if n == 1:
return 1
elif n == 2:
return 2
elif n == 3:
return 4
else:
# 创建数组dp存储子问题的解
dp = [0] * (n + 1)
dp[1], dp[2], dp[3] = 1, 2, 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("请输入楼梯台阶的数目n:"))

# 输出结果
print("小朋友上这段楼梯的方法数为:", climb_stairs(n))

# 测试样例
# 输入样例
# n = 15

# 输出样例
# 小朋友上这段楼梯的方法数为: 5768

posted @ 2024-06-19 18:37  孙锺鸣  阅读(1)  评论(0编辑  收藏  举报