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

Python 递归斐波那契函数是如何推导出来的?,python,fibonacci,Python,Fibonacci,在python中,返回第n个斐波那契数的斐波那契序列的递归函数可以写成: def fib(n): if n == 1: return 0 if n == 2: return 1 return fib(n-2) + fib(n-1) 我理解这个函数是如何工作的,但如果有人以前从未见过这个函数,那么人们会如何推导它呢 谢谢这只是对斐波那契数列数学定义的粗略翻译 斐波那契序列定义为: F0=0 F1=1 Fn=Fn-1+Fn-2 您可以看到,P

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

def fib(n):
    if n == 1:
        return 0
    if n == 2:
        return 1
    return fib(n-2) + fib(n-1)
我理解这个函数是如何工作的,但如果有人以前从未见过这个函数,那么人们会如何推导它呢


谢谢

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

斐波那契序列定义为:

F0=0

F1=1

Fn=Fn-1+Fn-2


您可以看到,Python代码基本上是这一点的直接翻译(除了将
n
off减1)