在python中,返回第n个斐波纳契数的Fibonacci序列的递归函数可以写成:
def fib(n):
if n == 1:
return 0
if n == 2:
return 1
return fib(n-2) + fib(n-1)
我理解这个函数是如何工作的,但如果有人以前从未见过这个函数,那么如何得到它呢?
由于
答案 0 :(得分:5)
这只是Fibonacci序列的数学定义的粗略翻译。
Fibonacci序列定义为:
F 0 = 0
F 1 = 1
F n = F n-1 + F n-2
您可以看到Python代码基本上是对此的直接翻译(除了n
关闭1)。