使用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

这个方法自己会调用自己,而当调用自己时参数会减小,直到达到自己设定的固定值。

猜你喜欢

转载自blog.csdn.net/zphuangtang/article/details/108972665