實現遞歸給定一個功能如下:F(N)= F(N-1)+ F(N-3)+ F(N-4)使用一個遞歸調用
f(0) = 1
f(1) = 2
f(2) = 3
f(3) = 4
我知道到在一個函數內使用遞歸調用三次遞歸調用來實現它。但我想在函數內部只進行一次遞歸調用。如何做到這一點?
實現在此使用3個遞歸調用是我的代碼:
def recur(n):
if n == 0:
return 1
elif n == 1:
return 2
elif n == 2:
return 3
elif n == 3:
return 4
else:
return recur(n-1) + recur(n-3) + recur(n-4) #this breaks the rule because there are 3 calls to recur
它只給出1作爲輸出..:/。原因是1總是那麼任何n,所以它總是會顯示1 – ms8
@python_slayer糟糕。檢查編輯。現在好嗎? – sgp