何俊毅
摘 要: 文章介紹了斐波那契數(shù)列及其意義、價(jià)值和應(yīng)用場(chǎng)景,分析了其7種編程實(shí)現(xiàn)方式:遞歸方式、數(shù)組方式、vector
關(guān)鍵詞: 斐波那契數(shù)列; 編程; 遞歸; 數(shù)組; 迭代
中圖分類號(hào):TP312 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2017)02-52-03
0 引言
斐波那契數(shù)列[1]是意大利數(shù)學(xué)家列昂納多·斐波那契發(fā)明的,我們?cè)谏钪薪?jīng)常能看到斐波那契數(shù),比如松果、鳳梨、樹葉的排列、向日葵花朵的花瓣數(shù)、蜂巢、蜻蜓翅膀、黃金分割、等角螺線、十二平均律等。
斐波那契數(shù)列又稱為黃金分割數(shù)列,指的是這樣一個(gè)數(shù)列:1,1,2,3,5,8,13,21,34,……,數(shù)列從第3項(xiàng)開始,每一項(xiàng)都等于前兩項(xiàng)之和。
斐波納契數(shù)列以遞歸的方法定義。
F(1)=1,F(xiàn)(n)=F(n-1)+F(n-2) (n≥2,n∈N*)
n趨向于無窮大時(shí),前一項(xiàng)與后一項(xiàng)的比值越來越逼近黃金分割0.618。
斐波那契數(shù)列在各方面存在許多實(shí)際的應(yīng)用價(jià)值,黃金分割、楊輝三角、質(zhì)數(shù)數(shù)量、尾數(shù)循環(huán)、自然界中各現(xiàn)象[2-3]。
斐波那契數(shù)列在軟件開發(fā)中可應(yīng)用于以下方面。
⑴ 解決網(wǎng)絡(luò)程序中通訊意外斷開后的重連延遲時(shí)間計(jì)算(例如QQ等通訊軟件掉線后的自動(dòng)重連功能,頻繁重試連接會(huì)造成不必要的資源消耗,重試延遲便通過斐波那契數(shù)列實(shí)現(xiàn),避免資源的不必要消耗)。
⑵ 應(yīng)用于數(shù)學(xué)建模。
⑶ 應(yīng)用于股票曲線值預(yù)測(cè)、周期值預(yù)測(cè)分析。
⑷ 計(jì)算飼養(yǎng)繁殖數(shù)量等。
1 斐波那契數(shù)列的編程實(shí)現(xiàn)及比較分析
為了更好地將斐波那契數(shù)列運(yùn)用到微機(jī)計(jì)算中,本文對(duì)計(jì)算機(jī)編程語(yǔ)言的斐波那契數(shù)列編程方法進(jìn)行了分析。
斐波那契數(shù)列可以通過多種編程方式實(shí)現(xiàn),包括遞歸、數(shù)組、vector
代碼結(jié)構(gòu):
使用遞歸方式其解法最為簡(jiǎn)單,但遞歸過程中存在大量的重復(fù)計(jì)算,效率慢,以及深度遞歸會(huì)消耗大量的棧空間,一般會(huì)在計(jì)算到較大數(shù)值時(shí)(F(100)),程序崩潰。
迭代的另一種實(shí)現(xiàn)方式,通過不同的變量命名來實(shí)現(xiàn),不易理解,其他效果與迭代相同。
2 結(jié)果驗(yàn)證
嘗試測(cè)試輸入:5
輸出:1 1 2 3 5
嘗試測(cè)試輸入:10
輸出:1 1 2 3 5 8 13 21 34 55
通過代碼的實(shí)現(xiàn)情況可知,迭代方式是最適用于斐波那契數(shù)列輸出的編程方式,該編程方法可用于多種數(shù)模建立、產(chǎn)品設(shè)計(jì)、限值預(yù)測(cè)等軟件開發(fā)??筛玫乩渺巢瞧鯏?shù)列來方便人們的生活。
3 結(jié)束語(yǔ)
通過對(duì)斐波那契數(shù)列的研究和編程實(shí)現(xiàn),我們初步掌握了斐波那契解數(shù)列的規(guī)律和編程方法,可以看出迭代方式是目前實(shí)現(xiàn)斐波那契數(shù)列的較好方式。斐波那契數(shù)列的應(yīng)用非常廣泛,與自然、生活、科學(xué)都有著緊密的聯(lián)系。它具有的數(shù)學(xué)之美讓我們著迷,從數(shù)學(xué)之美到編程之美,還需要我們更加深入的研究和探索,找到更加優(yōu)化的方法。更好的應(yīng)用斐波那契解數(shù)列解決自然界中的問題,對(duì)于我們有著非常現(xiàn)實(shí)的意義。
參考文獻(xiàn)(References):
[1] 凌曉牧.有趣的斐波那契數(shù)列[J].江蘇教育學(xué)院學(xué)報(bào)(自然科
學(xué)版),2011.28(10):31-33
[2] 賈菲菲.斐波那契數(shù)列的研究與應(yīng)用[J].科技創(chuàng)新與應(yīng)用,
2014.4(5):53
[3] 閆萍.斐波那契多項(xiàng)式與斐波那契數(shù)列[J].常熟理工學(xué)院學(xué)
報(bào),2005.17(3):15-20