2

在 python 中,返回第 n 个斐波那契数的斐波那契数列的递归函数可以写成:

def fib(n):
    if n == 1:
        return 0
    if n == 2:
        return 1
    return fib(n-2) + fib(n-1)

我理解这个函数是如何工作的,但是如果有人以前从未见过这个函数,那么如何推导出它呢?

谢谢

4

1 回答 1

5

它只是对斐波那契数列的数学定义的粗略翻译。

斐波那契数列定义为:

F 0 = 0

F 1 = 1

F n = F n-1 + F n-2

可以看到,Python 代码基本上是直接翻译这个的(noff by 1 除外)。

于 2013-03-16T08:34:58.960 回答