如何推导出递归的斐波那契函数?

时间:2013-03-16 08:28:59

标签: python fibonacci

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

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

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

由于

1 个答案:

答案 0 :(得分:5)

这只是Fibonacci序列的数学定义的粗略翻译。

Fibonacci序列定义为:

  

F 0 = 0

     

F 1 = 1

     

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

您可以看到Python代码基本上是对此的直接翻译(除了n关闭1)。