斐波那契数列(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循环
1
2
3
4
5
6
7
8
9
|
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))
|
方法二:递归函数
1
2
3
4
5
6
|
def fab(n):
if n = = 1 or n = = 2 :
return 1
return fab(n - 1 ) + fab(n - 2 )
print (fab( 5 ))
|
方法三:生成器
1
2
3
4
5
6
7
8
|
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个数的值内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/chenlunju/article/details/85603662