📜  python 斐波那契数 - Python (1)

📅  最后修改于: 2023-12-03 15:34:12.310000             🧑  作者: Mango

Python 斐波那契数

斐波那契数列(Fibonacci sequence)是指:1、1、2、3、5、8、13、21、34、……,在数学上,斐波那契数列以如下被以递归的方法定义:

F(0) = 0
F(1) = 1
F(n) = F(n-1) + F(n-2) (n>=2)

这个序列的特点是:前两个数都是1,从第三个数开始,每个数都是它前面两个数的和。斐波那契数列在现代数学和计算机科学中广泛应用。下面是Python实现斐波那契数列的代码:

def fibonacci(n):
    """
    计算斐波那契数列
    """
    if n <= 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fibonacci(n-1) + fibonacci(n-2)

上述代码使用了递归的方式实现了斐波那契数列的计算。其中,递归终止条件是n小于等于0或者等于1,如果n大于1就返回前两个数之和。这里需要注意的是,在使用递归的方式计算斐波那契数列时,会存在很多重复计算,因此这种方式的效率并不高。

接下来是非递归的斐波那契数列计算代码:

def fibonacci(n):
    """
    计算斐波那契数列
    """
    if n <= 0:
        return 0
    elif n == 1:
        return 1
    else:
        a, b = 0, 1
        for _ in range(n-1):
            a, b = b, a+b
        return b

这种实现方式使用了循环的方式计算斐波那契数列,避免了递归计算中的重复计算问题。其中,斐波那契数列的第一个数是0,第二个数是1,从第三个数开始,每个数都是前两个数之和。

以上就是Python实现斐波那契数列的两种方式,读者可以根据自己的需求选择更合适自己的方式。