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

分类: 计算机技术
推荐阅读:
Rust assert_ne宏的用法 在 Rust 中,assert_ne宏用于在测试时检查两个值是否不相等;如果它们不相等,则测试继续执行;如果它们相等,则会导致panic,并在控制台输出相关信息;
Wireshark常用过滤器 Wireshark是一款常用的网络协议分析工具,提供了很多过滤器用于筛选和分析数据包。以下是一些常用的Wireshark过滤器:
为pm.max_children设置一个合理的值 pm.max_children这个值在php-fpm中至关重要;其意义为:表示php-fpm 能启动的子进程的最大数量;它能影响你网站的打开速度以及服务器的开销。
Golang实现HTTP代理服务 这篇文章的目的是教大家如何使用Go语言实现一个简单的HTTP代理服务程序;HTTP代理服务就是转发客户端发送的网络请求到远程服务器,得到远程服务器的响应后将响应内容返回给客户端。
Python enumerate()函数 在Python中,enumerate()是一个内置函数,用于将一个可迭代对象转换为一个枚举对象,该对象包含每个元素的索引和对应的值。enumerate()函数返回的是一个由元组组成的迭代器,每个元组包含两个元素,第一个元素是元素的索引,第二个元素是元素的值。
Go语言的多返回值 Go语言革命性地在静态开发语言阵营中率先提供了多返回值功能。这个特性让开发者可以从原来用各种比较别扭的方式返回多个值的痛苦中解脱出来,既不用再区分参数列表中哪几个用于输入,哪几个用于输出,也不用再只为了返回多个值而专门定义一个数据结构。