使用python实现斐波那契数列(黄金分割数列)二
使用python实现斐波那契数列(黄金分割数列)方法二
指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。
解法二:递归
def fib2(n):
if n == 1 or n == 2:
return 1
return fib2(n - 1) + fib2(n - 2)
代码详解:
当调用fib2(5)时,内部是这样运行的:
输入的5>1,2 返回fib2(4)+fib2(3)
此时的fib2(5)=fib2(4)+fib(3)=fib2(3)+fib2(2) + fib2(2)+fib2(1)
=fib2(2)+fib2(1)+fib2(2) + fib2(2)+fib2(1)
fib2(2)与fib2(1)的值为1
这个方法自己会调用自己,而当调用自己时参数会减小,直到达到自己设定的固定值。