Fibonacci演算法實現的幾種方法

2021-08-28 02:39:31 字數 586 閱讀 6841

公式:f(n) = f(n-1) + f(n-2)

假設第乙個數是0,第二個數是1

1.迭代加法:

long long fabonacci_first(int n) 

return b;

}}

2.利用陣列先儲存數字,直接返回結果,耗費空間:

long long fabonacci_second(int n)
3.二分遞迴,由於每次都需要重新計算,損耗大量時間和空間,時間複雜度o(2^n):

long long fabonacci_third(int n)
4.尾遞迴:

long long fabonacci_fourth(long long first, long long second, int n)
5.備忘錄法,使用遞迴方法,但利用陣列來儲存來避免重複計算子問題:

long long arr[100];

long long fibonacci_fifth(int n)

關於Fibonacci的實現

fibonacci的實現可以用遞迴呼叫 private static int getfibo int n public static void main string args while n 2 for int i 0 i 但這麼實現最大的問題是如果n特別大時,就可能會出問題了,比如stackov...

python 實現Fibonacci數列

初學python一些簡單程式設計記錄 原理斐波那契數列 又稱 分割數列,指的是這樣乙個數列 1 1 2 3 5 8 13 21 在數學上,斐波納契數列以如下被以遞迴的方法定義 f0 1,f1 1,fn f n 1 f n 2 n 2,n n def fibonacci x m,n 0,1 if x ...

Fibonacci數列(C 實現)

問題描述 fibonacci數列的遞推公式為 fn fn 1 fn 2,其中f1 f2 1。當n比較大時,fn也非常大,現在我們想知道,fn除以10007的餘數是多少。輸入格式 輸入包含乙個整數n。輸出格式 輸出一行,包含乙個整數,表示fn除以10007的餘數。說明 在本題中,答案是要求fn除以10...