Python 在这个寻找爬楼梯方法的问题中,递归函数是什么?

Python 在这个寻找爬楼梯方法的问题中,递归函数是什么?,python,recursion,Python,Recursion,问题陈述 def staircase(n): if n <= 0: return 1 if n == 1: return 1 elif n == 2: return 2 elif n == 3: return 4 return staircase(n - 1) + staircase(n - 2) + staircase(n - 3) 假设有一个楼梯,你可以用1步、2步或3步爬上去

问题陈述

def staircase(n):
    if n <= 0:
        return 1

    if n == 1:
        return 1
    elif n == 2:
        return 2
    elif n == 3:
        return 4

    return staircase(n - 1) + staircase(n - 2) + staircase(n - 3)
假设有一个楼梯,你可以用1步、2步或3步爬上去。如果楼梯有n个台阶,你可以用多少种可能的方式爬楼梯?写一个递归函数来解决这个问题

例如:

n==1,然后回答=1

n==3,然后回答=4,
输出是4,因为我们有四种方法 你可以爬楼梯:

1步+1步+1步
1步+2步
2步+1步
3步
n ==5,然后回答=13

解决方案

def staircase(n):
    if n <= 0:
        return 1

    if n == 1:
        return 1
    elif n == 2:
        return 2
    elif n == 3:
        return 4

    return staircase(n - 1) + staircase(n - 2) + staircase(n - 3)
def楼梯(n):

如果n要爬n>3个楼梯,您可以[a]先爬1个楼梯,然后爬n-1个楼梯,[b]先爬2个楼梯,然后爬n-2个楼梯,或者[c]先爬3个楼梯,然后爬n-3个楼梯。计算方法,是(n)=s(n-1)+s(n-2)+s(n-3)

要爬n>3个楼梯,你要么先爬1个楼梯,然后爬n-1个楼梯,[b]先爬2个楼梯,然后爬n-2个楼梯,或者[c]先爬3个楼梯,然后爬n-3个楼梯。计算方法,它是(n)=s(n-1)+s(n-2)+s(n-3)