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

Eda*_*aur 2 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)
Run Code Online (Sandbox Code Playgroud)

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

谢谢

Die*_*Epp 5

它只是Fibonacci序列的数学定义的粗略翻译.

Fibonacci序列定义为:

F 0 = 0

F 1 = 1

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

您可以看到Python代码基本上是对此的直接翻译(除非使用n1 除外).