软件工程日报(4.2)

时长:半个小时左右

题目:

8-5 【Python0006】爬楼梯
分数 10
作者 doublebest
单位 石家庄铁道大学

【题目描述】 假设一段楼梯共n(n>1)个台阶,小朋友一步最多能上3个台阶,那么小朋友上这段楼梯一共有多少种方法。
【练习要求】请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释。
【输入格式】在一行中输入楼梯台阶的数目n。
【输出格式】输出小朋友上这段楼梯的方法数。
【输入样例】15
【输出样例】5768

代码量:

def count_ways_to_climb_stairs(n):
# 处理基础情况
if n <= 0:
return 0
elif n == 1:
return 1
elif n == 2:
return 2
elif n == 3:
return 4

# 初始化动态规划数组
ways = [0] * (n + 1)
ways[1], ways[2], ways[3] = 1, 2, 4

# 从第4个台阶开始计算
for i in range(4, n + 1):
ways[i] = ways[i - 1] + ways[i - 2] + ways[i - 3]

return ways[n]

n = int(input("请输入楼梯的台阶数n(n>1):"))
result = count_ways_to_climb_stairs(n)
print(f"上到{n}个台阶的方法数为:{result}")
posted @   夏季彼岸德  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2023-04-16 c++训练打卡(8)
点击右上角即可分享
微信分享提示