欢迎访问宙启技术站
智能推送

使用Python函数快速计算斐波那契数列

发布时间:2023-07-05 20:16:54

斐波那契数列是一个序列,其中每个数字都是前两个数字的和。该数列以0和1开始。即:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ...

在计算斐波那契数列时,我们可以使用递归或循环的方法。递归方法比较直观,但在数字变大时效率较低。循环方法则更高效。

下面是使用循环方法计算斐波那契数列的Python函数:

def fibonacci(n):
    fib_list = [0, 1]
   
    if n <= 1:
        return fib_list[:n+1]
    
    for i in range(2, n+1):
        fib_list.append(fib_list[i-1] + fib_list[i-2])
    
    return fib_list

以上函数接收一个参数n,返回一个包含斐波那契数列的列表。如果参数n小于等于1,函数会返回前n个数字。否则,函数会计算并返回包含n个数字的完整斐波那契数列。

下面是一些使用该函数的示例:

print(fibonacci(0))
# [0]

print(fibonacci(1))
# [0, 1]

print(fibonacci(10))
# [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

该函数使用了一个列表fib_list来保存计算得到的斐波那契数列。开始时,列表包含前两个数字。然后,循环从第三个数字开始,通过将前两个数字相加来计算下一个数字,并将其添加到列表中。最后,函数返回完整的斐波那契数列列表。

通过使用循环方法而不是递归方法,我们可以在较短的时间内计算出较大的斐波那契数列。这是因为循环方法避免了重复计算,并且只计算必要的数字。