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

分类: 计算机技术
推荐阅读:
在Linux终端右上角实时显示时间 在Linux系统下,可以通过一条命令在终端的右上角显示当前系统的时间:
MIPS指令的操作码和操作数 MIPS指令由操作码和操作数组成。操作码指定指令的类型,操作数则指定指令要操作的寄存器或者立即数。在MIPS指令集中,操作码通常占据指令的高6位,操作数则根据指令类型和格式的不同而有所区别。
Python实现链表 链表是一系列数据元素,它们通过指针连接在一起。每个数据元素都包含指向指针形式的另一个数据元素的连接。Python在其标准库中没有链接列表;作者将使用的节点的概念来实现链表。
Go语言中预定义常量iota的用法 iota可以被认为是一个可被编译器修改的常量,在每个const关键字出现时被重置为0,在下一个const出现之前,每出现一次iota,其所代表的数字会自增1.
Updating crates.io index 出现错误解决方法 在向Rust项目添加依赖后尝试运行或编译,cargo管理工具会尝试更新crates.io index,当出现git配置错误可能会出现类似以下的错误:
WHOIS协议Python和Golang的实现 WHOIS协议是一个非常简单的Internet信息查询协议;在RFC812文档中有定义,先向服务器的TCP 43端口建立一个连接,发送要查询的域名关键字并以回车换行结尾,然后接收服务器返回信息,服务器输出完毕后会立即断开连接。