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