Python实现斐波那契数列(使用通项公式)


斐波那契数列指的是这样一个数列:

0、1、1、2、3、5、8、13、21、34、……

这个数列从第3项开始,每一项都等于前两项之和,在数学上被这样定义:

F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)

其通项公式为:

斐波那契数列通项公式

本文将使用Python编写程序,根据其通项公式得出第n项的值;

使用通项公式得到斐波那契数列第n项的值

import math
def Fibonacci(n):
    if n < 0: raise ValueError('n >= 0')
    return int((1/math.sqrt(5))*(((1+math.sqrt(5))/2)**n - ((1 - math.sqrt(5))/2)**n))

print(Fibonacci(100))

程序将输出第100项的值:

354224848179263111168

打印斐波那契数列

打印 n 为 0~19的所有项:

for n in range(20):
    print(Fibonacci(n))

如需转载,请注明出处;本文地址:https://www.perfcode.com/p/fibonacci-series-in-python.html