Python递归实现斐波那契数列算法

2023-04-15 00:00:00 算法 递归 数列

斐波那契数列是指从0和1开始,每个数都是前两个数的和。形如0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ...

Python递归实现斐波那契数列代码如下:

def fib(n):
    if n <= 1:
        return n
    else:
        return fib(n-1) + fib(n-2)

这个函数会计算第n个数在斐波那契数列中的值。如果n小于或等于1,就直接返回n,否则使用递归调用并返回前两个值的和。

例如,如果你调用fib(6),函数会递归调用fib(5)fib(4),然后再递归调用到边际,最终得到结果8。

要注意的是,这个实现有一个致命的问题:当你计算大型数列时,它会非常慢(因为它会进行多次重复计算)。所以,如果需要计算大型数列,最好使用迭代方法或使用“记忆化”技术优化递归方法。

相关文章