📌  相关文章
📜  使用直接公式打印前n个斐波那契数(1)

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

使用直接公式打印前n个斐波那契数

斐波那契数列是一个非常著名的数列,其定义为:前两个数都为1,从第三个数开始,每个数都等于前两个数的和。例如:1, 1, 2, 3, 5, 8, 13, 21, 34...

在计算机程序中,我们可以使用循环、递归等方法来计算斐波那契数列,但是这些方法效率并不高,因为它们的时间复杂度都是O(2^n)的。因此,我们可以使用直接公式来计算斐波那契数列,其时间复杂度为O(log n)。

直接公式的表达式为:F(n) = [1 / √5 * ( (1 + √5) / 2 )^n - 1 / √5 * ( (1 - √5) / 2 )^n]

接下来就让我们来撰写一个能够使用直接公式打印前n个斐波那契数的程序吧!

import math

def fibo_direct_formula(n):
    result = []
    for i in range(1, n+1):
        num = round(1 / math.sqrt(5) * (((1 + math.sqrt(5)) / 2) ** i - ((1 - math.sqrt(5)) / 2) ** i))
        result.append(num)
    return result

print(fibo_direct_formula(10))

以上就是我们使用直接公式打印前n个斐波那契数的程序了。希望这段代码可以为你的编程之路提供一些帮助。