使用python求斐波那契數(shù)列中第n個數(shù)的值示例代碼
斐波那契數(shù)列(Fibonacci sequence),又稱黃金分割數(shù)列、因數(shù)學(xué)家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數(shù)列”,指的是這樣一個數(shù)列:1、1、2、3、5、8、13、21、34、……在數(shù)學(xué)上,斐波納契數(shù)列以如下被以遞歸的方法定義:F(1)=1,F(xiàn)(2)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)
求斐波那契數(shù)列中第n個數(shù)的值:1,1,2,3,5,8,13,21,34…
方法一:用for循環(huán)
n = int(input('請輸入要一個整數(shù):'))
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個數(shù)是%d'%(n, current))
方法二:遞歸函數(shù)
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)
總結(jié)
到此這篇關(guān)于使用python求斐波那契數(shù)列中第n個數(shù)的值的文章就介紹到這了,更多相關(guān)python斐波那契數(shù)列第n個數(shù)的值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python的collections模塊中的OrderedDict有序字典
字典是無序的,但是collections的OrderedDict類為我們提供了一個有序的字典結(jié)構(gòu),名副其實的Ordered+Dict,下面通過兩個例子來簡單了解下Python的collections模塊中的OrderedDict有序字典:2016-07-07
使用Flink與Python進行實時數(shù)據(jù)處理的基本步驟
Apache Flink是一個流處理框架,用于實時處理和分析數(shù)據(jù)流,PyFlink是Apache Flink的Python API,它允許用戶使用Python語言來編寫Flink作業(yè),進行實時數(shù)據(jù)處理,以下是如何使用Flink與Python進行實時數(shù)據(jù)處理的基本步驟,需要的朋友可以參考下2024-09-09
Pandas查詢數(shù)據(jù)df.query的使用
本文主要介紹了Pandas查詢數(shù)據(jù)df.query的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
numpy多項式擬合函數(shù)polyfit的使用方法代碼
這篇文章主要給大家介紹了關(guān)于numpy多項式擬合函數(shù)polyfit的使用方法,np.polyfit是Numpy庫中的一個函數(shù),用于在最小二乘意義下擬合多項式曲線到數(shù)據(jù)點集,需要的朋友可以參考下2024-01-01
簡單介紹Python中的try和finally和with方法
這篇文章主要介紹了Python中的try和finally和with方法,是Python學(xué)習(xí)當中的基礎(chǔ)知識,需要的朋友可以參考下2015-05-05
TensorFlow2基本操作之 張量排序 填充與復(fù)制 查找與替換
這篇文章主要介紹了TensorFlow2基本操作之 張量排序 填充與復(fù)制 查找與替換,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-09-09

