第35期-爬楼梯

1 问题描述

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
输入阶数n,输出爬法数量

2 解题思路

从整体看,可能一时不知道该如何完成
当爬到n阶时,可以是从n-1爬上来,也可以是n-2爬上来
当只有一阶时,只有一种爬法
当n=2时,有两种爬法
其他情况下,n阶时,由于只有两者爬上来的可能性,所以只需计算n-1阶爬法以及n-2阶爬法即可,递归

3 解题方法

def Climb(n):
    if n == 1:
        return 1
    elif n == 2:
        return 2
    else:
        return Climb(n - 1) + Climb(n - 2)


n = int(input('请输入楼层'))
print(f'一共有{Climb(n)}种爬法')
View Code

第1行: 定义函数 Climb, 传入参数 n
第2-3行: 当n=1时,返回函数值为1
第4-5行: 当n=2时,返回函数值为2
第6-7行: 其他情况下,返回函数值Climb(n - 1) + Climb(n - 2),即计算n-1层以及n-2层爬法
第10-11行: input函数输入层数并赋值给n,打印总共的爬法

对于此类数学习题,主要考察编辑者的逻辑能力

代码运行结果为:
image.png

posted @ 2022-01-06 17:41  LG03  阅读(51)  评论(0)    收藏  举报