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

分类: 计算机技术
推荐阅读:
解决Golang中cannot refer to unexported name xxxx这类错误 在Golang中,碰到cannot refer to unexported name xxxx,这类错误,通常是你调用了一个包内不存在的函数导致的;
如何解压和压缩 .tar.gz 文件 .tar.gz 为后缀的文件是一种在Linux和macOS下常见的压缩文件,可直接使用tar命令进行解压或压缩;
Linux终端如何输入复杂的命令 在Linux下,当你要输入的命令过于复杂,比如有许多参数,你可以先按 ctrl + x ,再按 ctrl + e 快速打开一个编辑器编辑命令。
解决rust-analyzer在rustlings中不生效的问题 rustlings是一个让你习惯阅读和编写Rust代码的项目,其中包含一些小练习;当使用VSCode打开该项目并编写练习时,rust-analyzer插件可能没有生效;
C语言获取当前系统的CPU核心数量 本文将介绍C语言在Windows系统和Linux系统下获取CPU核心数量的方法;
SQL简易教程 SQL简易教程提供了SQL的基本用法和高级概念;该教程很适合初学者,专业人士亦可参考。