递推算法
递归算法
例题:
假设-段楼梯共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))
谢谢。