python 递归、递推算法实例(小明爬楼梯)

递推算法
递归算法
例题
假设-段楼梯共15个台阶,小明-步最多能上3个台阶。编写程序计算小明上:这段楼梯一共有多少种方法。要求给出递推法和递归法两种代码。

递归法


#递归法
def demo(n):
    d={1:1,2:2,3:4}
    if n in d.keys():
        return d[n]
    else:
        return demo(n-1)+demo(n-2)+demo(n-3)
print(demo(15))

递推法

#递推法
def demo(n):  # n最少为3,否则输出4错误
    a=1
    b=2
    c=4
    for i in range(n-3):
        c,b,a=a+b+c,c,b
    return c
print(demo(4))

谢谢。

你可能感兴趣的:(python 递归、递推算法实例(小明爬楼梯))