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

分类: 计算机技术
推荐阅读:
Python round()函数 在 Python 中,round() 函数用于将一个浮点数四舍五入到指定的小数位数。它可以接受两个参数:要四舍五入的浮点数和指定的小数位数(默认为 0)。
提示Permission denied的解决方法 通常,提示Permission denied表示你的某个操作权限不够;在Linux系统中,权限分为读权限、写权限和可执行权限,当你所在的用户组没有相关权限时,则会提示Permission denied;
配置Nginx实现简单的反盗链 本文通过Nginx的配置指令valid_referers来实现简单的图片和其它类型文件的防盗链。
Rust解析JSON,结构体序列化和反序列化 JSON一种常用的由键值对组成的数据对象;本文将通过多个例子讲解在Rust中如何解析JSON内容,以及如何将结构体转换成JSON字符串。
Rust语言计算斐波那契数列(Fibonacci) 本文将使用Rust语言递归实现斐波那契数列的计算;
Python type()函数 type() 函数用于获取对象的类型,或者动态地创建一个新的类。其语法如下: