假设一段楼梯共15 个台阶,小明一步最多能上3个台阶。编写程序计算小明上这段楼梯一共有多少种方法。要求给出递推法和递归法两种代码。
def climbStairs(n):
first3={1:1,2:2,3:4}
if n in first3.keys():
return first3[n]
else:
return climbStairs(n-1)+climbStairs(n-2)+climbStairs(n-3)
print(climbStairs(15))