1
在蟒蛇,對於返回n個斐波納契數斐波納契數列的遞歸函數可以寫爲:遞歸斐波那契函數是如何導出的?
def fib(n):
if n == 1:
return 0
if n == 2:
return 1
return fib(n-2) + fib(n-1)
我明白這個功能是如何工作的,但如果有人之前,怎麼從來沒見過這個功能會有人得出它嗎?
謝謝
在蟒蛇,對於返回n個斐波納契數斐波納契數列的遞歸函數可以寫爲:遞歸斐波那契函數是如何導出的?
def fib(n):
if n == 1:
return 0
if n == 2:
return 1
return fib(n-2) + fib(n-1)
我明白這個功能是如何工作的,但如果有人之前,怎麼從來沒見過這個功能會有人得出它嗎?
謝謝
這只是斐波那契數列定義的粗略翻譯。
Fibonacci序列被定義爲:
˚F = 0
˚F = 1
˚FÑ = F n-1個 + F n-2
你可以看到,Python代碼基本上是這樣的直接翻譯(除了n
關閉的1)。
我明白了。我正在啞巴哈哈。謝謝!! – Edasaur 2013-03-16 09:08:26
首先聲明也許應該是'如果n <= 1'這樣的功能是一個比較穩健的,不進入無限遞歸數<= 0 – Omnifarious 2013-03-16 09:02:31