使用python求斐波那契数列中第n个数的值示例代码
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)
求斐波那契数列中第n个数的值:1,1,2,3,5,8,13,21,34…
方法一:用for循环
n = int(input('请输入要一个整数:'))
n_2 = 0
n_1 = 1
current = 1
for x in range(2, n+1):
current = n_2 + n_1
n_2 = n_1
n_1 = current
print('第%d个数是%d'%(n, current))
方法二:递归函数
def fab(n):
if n == 1 or n == 2:
return 1
return fab(n-1) + fab(n-2)
print(fab(5))
方法三:生成器
def fib(n):
a, b = 0, 1
for _ in range(n):
a, b = b, a + b
yield a
for val in fib(20):
print(val)
总结
到此这篇关于使用python求斐波那契数列中第n个数的值的文章就介绍到这了,更多相关python斐波那契数列第n个数的值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Python的collections模块中的OrderedDict有序字典
字典是无序的,但是collections的OrderedDict类为我们提供了一个有序的字典结构,名副其实的Ordered+Dict,下面通过两个例子来简单了解下Python的collections模块中的OrderedDict有序字典:2016-07-07
简单介绍Python中的try和finally和with方法
这篇文章主要介绍了Python中的try和finally和with方法,是Python学习当中的基础知识,需要的朋友可以参考下2015-05-05
TensorFlow2基本操作之 张量排序 填充与复制 查找与替换
这篇文章主要介绍了TensorFlow2基本操作之 张量排序 填充与复制 查找与替换,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-09-09


最新评论