C#使用迭代法實(shí)現(xiàn)Fibnaci數(shù)列
本文實(shí)例講述了C#使用迭代法實(shí)現(xiàn)Fibnaci數(shù)列的方法。分享給大家供大家參考。具體分析如下:
下面對(duì)于Fibnaci數(shù)列作基本介紹:
這里Fibnaci代表數(shù)組名,n代表索引。
如:Fibnaci基數(shù)列:1,1,2,3,5,8...
當(dāng)n<=2時(shí):Fibnaci(n)=1
當(dāng)n>2時(shí):Fibnaci(n)=Fibnaci(n-1)+Fibnaci(n-2)
我們可以使用遞歸或者迭代等方法來(lái)進(jìn)行算法編程,這里介紹迭代方法。
其他算法非遞歸方法也可以參照如下方式。
public List<int> BaseNumbers = new List<int> { 1, 1, 2, 3, 5, 8 }; public int GetFibnaceNumber(List<int> baseNumbers, int len) { if (len <= 2) { return 1; } else if ((len - 1) <= BaseNumbers.Count) { len = len - 1; return BaseNumbers[len - 1] + BaseNumbers[len - 2]; } else { int BaseMaxIndex = BaseNumbers.Count; BaseNumbers.Add(BaseNumbers[BaseMaxIndex - 1] + BaseNumbers[BaseMaxIndex - 2]); return GetFibnaceNumber(BaseNumbers, len); } }
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
C#使用throw和throw?ex拋出異常的區(qū)別介紹
這篇文章介紹了C#使用throw和throw?ex拋出異常的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-10-10利用Aspose.Word控件實(shí)現(xiàn)Word文檔的操作
偶然一次機(jī)會(huì),一個(gè)項(xiàng)目的報(bào)表功能指定需要導(dǎo)出為Word文檔,因此尋找了很多篇文章,不過(guò)多數(shù)介紹的比較簡(jiǎn)單一點(diǎn),于是也參考了官方的幫助介紹,終于滿(mǎn)足了客戶(hù)的需求。下面我由淺入深來(lái)介紹這個(gè)控件在實(shí)際業(yè)務(wù)中的使用過(guò)程吧2013-05-05C#執(zhí)行Javascript代碼的幾種方法總結(jié)
本篇文章主要是對(duì)C#執(zhí)行Javascript代碼的幾種方法進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-01-01c# AES字節(jié)數(shù)組加密解密流程及代碼實(shí)現(xiàn)
這篇文章主要介紹了c# AES字節(jié)數(shù)組加密解密流程及代碼實(shí)現(xiàn),幫助大家更好的理解和使用c#,感興趣的朋友可以了解下2020-11-11C#基于面向過(guò)程計(jì)算加權(quán)平均分的方法
這篇文章主要介紹了C#基于面向過(guò)程計(jì)算加權(quán)平均分的方法,涉及C#數(shù)學(xué)運(yùn)算的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07