Fibonacci number是這樣的數(shù)列:
f(0) = 0, f(1) = 1,
f(n) = f(n-1) + f(n-2) (n 》=2)
下面給出幾種求解方法
1) 使用函數(shù)遞歸方法。

這個是最容易想到的方法
但是這個比較花時間,因為有很多重復(fù)計算(重復(fù)的函數(shù)調(diào)用)。
在我的電腦上,計算f(45)的值,用了10.256秒的時間。
2) 把計算的中間結(jié)果保存下來,避免重復(fù)計算。

用這種方法計算f(45),僅僅用了 0.000017秒的時間, 時間降低了百萬倍!
3) 第二種方法,使用了較多的內(nèi)存保存中間結(jié)果。還可以進一步減少內(nèi)存的使用。

所需時間和 2)差不多。
4)不使用函數(shù)遞歸,使用迭代的方法

5)

6)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
算法
+關(guān)注
關(guān)注
23文章
4775瀏覽量
97617 -
C語言
+關(guān)注
關(guān)注
183文章
7642瀏覽量
145116
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
10個經(jīng)典的C語言面試基礎(chǔ)算法及代碼
算法是一個程序和軟件的靈魂,作為一名優(yōu)秀的程序員,只有對一些基礎(chǔ)的算法有著全面的掌握,才會在設(shè)計程序和編寫代碼的過程中顯得得心應(yīng)手。本文包括了經(jīng)典的Fibonacci數(shù)列、簡易
發(fā)表于 11-20 15:18
六個帶有WiFi模塊的單片機跟一個配置為AP模式的單片機通信,六個之間并不通信
我得目的是讓六個帶有WiFi模塊的單片機跟一個配置為AP模式的單片機通信,六個之間并不通信這個過程絕不能涉及任何手機電腦路由器,不知道可不可以。想聽聽各位的的高見
發(fā)表于 05-16 06:35
10個經(jīng)典的C語言面試基礎(chǔ)算法及代碼
1、計算Fibonacci數(shù)列Fibonacci數(shù)列又稱斐波那契數(shù)列,又稱黃金分割數(shù)列,指的是這樣一個數(shù)列:1、1、2、3、5、8、13、21。C語言實現(xiàn)的代碼如下:/* Displa
發(fā)表于 07-25 17:07
關(guān)于10大C語言基礎(chǔ)算法
算法系列的第二篇,包括了經(jīng)典的Fibonacci數(shù)列、簡易計算器、回文檢查、質(zhì)數(shù)檢查等算法。也許他們能在你的畢業(yè)設(shè)計或者面試中派上用場。1、計算
發(fā)表于 04-29 14:30
sd可以實現(xiàn)六個面對應(yīng)六個不同文件夾sd音樂嗎?
想做一個感應(yīng)正方體音樂盒,通過三軸加速度計去感應(yīng)六個面的變化,從而去讀取sd不同文件夾的音樂,六個面對應(yīng)六個不同文件夾sd音樂,而且文件夾里面的音樂是可以換的,我知道單獨設(shè)置一
發(fā)表于 08-12 22:09
六個子目錄的作用
到的不同文件。建立CMSIS、Library、Listing、Output、Project、User六個子目錄,如下圖所示。下面來講一下這六個子目錄的作用。C
發(fā)表于 08-04 06:51
六個有關(guān)RoHS的檢測方法標(biāo)準
國家質(zhì)量監(jiān)督檢驗檢疫總局最近頒布了六個有關(guān)RoHS的檢測方法標(biāo)準,這六個標(biāo)準是:
1. 《電子電氣產(chǎn)品中
發(fā)表于 08-12 09:04
?1494次閱讀
PCB設(shè)計的六個檢查階段
為了保證PCB設(shè)計的準確性,整個PCB設(shè)計過程中需要進行多次檢查,接下來為大家介紹PCB設(shè)計的六個檢查階段。
PROTEL DXP的六個實驗指導(dǎo)教程
本文檔的主要內(nèi)容詳細介紹的是PROTEL DXP的六個實驗指導(dǎo)教程包括了:實驗一 初步使用Protel DXP 系統(tǒng),實驗二 繪制A/D轉(zhuǎn)換電路原理圖,實驗三 音樂閃光燈電路設(shè)計——新建元件庫,實驗
發(fā)表于 10-29 15:19
?12次下載
decimal和number的區(qū)別
的數(shù)據(jù)類型。Number數(shù)據(jù)類型可以包括整數(shù)、浮點數(shù)、復(fù)數(shù)等等。在不同的編程語言和環(huán)境中,Number的實現(xiàn)方式和支持的操作可能會有所不同。 Decimal是Number的一個具體實現(xiàn)
算法:計算Fibonacci number的六個方法
評論