python-爬楼梯

【题目描述】 假设一段楼梯共n(n>1)个台阶,小朋友一步最多能上3个台阶,那么小朋友上这段楼梯一共有多少种方法。

【练习要求】请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释。

【输入格式】在一行中输入楼梯台阶的数目n。

【输出格式】输出小朋友上这段楼梯的方法数。

【输入样例】15

【输出样例】5768

代码:

def climbStairs(n):
    foot3 = {1: 1, 2: 2, 3: 4}  # 前三阶的三种情况
    if n in foot3.keys():
        return foot3[n]
    else:
        return climbStairs(n - 1) + climbStairs(n - 2) + climbStairs(n - 3)  # 下一阶的方法数为前三阶的和


n = int(input())
print(climbStairs(n))

 

posted @ 2022-03-07 21:34  睡觉不困  阅读(419)  评论(0)    收藏  举报