1. 程式人生 > >如何使用Python的遞迴方法來實現組合數,遞迴實現斐波那契數

如何使用Python的遞迴方法來實現組合數,遞迴實現斐波那契數

組合數公式:

C(n,m)=n!/((n-m)!*m!)

傳統演算法

def CombinationNum(n,m):
    #n>=m n,m都是自然數

    #找到一個出口
    if m == 0 or n == m:
        return 1
    return CombinationNum(n-1,m-1)+CombinationNum(n-1,m)
print(CombinationNum(5,3))#傳入兩個引數,得出結果

遞迴方法實現斐波那契數:

def fun(n):
    #斐波那契數:1,1,2,3,5...
    if n == 1 or n == 2:#首先定義一個出口
                        #n為第1時值為1,n為2個時值是1,此時出口為這個判斷
        return 1
    else:
        return fun(n-1)+fun(n-2)#前兩個數相加為第三個數

print(fun(5))