斐波那契數列的兩種實現方法(遞迴 非遞迴),C

2021-09-12 11:14:22 字數 597 閱讀 7856

斐波那契數列定義:

**實現的時候有兩種方法,非遞迴實現和遞迴實現

非遞迴實現:

宣告三個整數變數 a, b, c (由於當 n 較大時 f(n) 會很大,所以 a, b, c 在宣告的時候一步到位直接 unsigned long long)

把 a + b 賦給 c , 之後再把 b 賦給 a , c 賦給 b ;

同時把 n 減一

執行上述步驟直到 n 減到 1 為止

//c語言非遞迴實現斐波那契數列

#include int main(int argc, char *ar**)

printf("%llu\n", c);

return 0;

}

遞迴實現:

//c語言遞迴實現斐波那契數列

#include unsigned long long fbnq(int n);

int main(int argc, char *ar**)

unsigned long long fbnq(int n)

...以

迴圈斐波那契數列 斐波那契數列的兩種實現

最先研究這個數列的人是義大利人斐波那契,leonardo fibonacci,他在描述兔子生長的數目時用上了這數列 每個月兔子的總對數,就是這樣乙個序列 1,1,2,3,5,8,13,21.這個序列從第三項開始,每一項都等於前兩項之和。在數學上,斐波那契數列是以遞迴的方法來定義 f 1 1 f 2 ...

斐波那契數列 的兩種實現方式

一 先要回答乙個問題 什麼是婓波那契數列?答案在這裡 二 看 1 第一方法 遞迴實現 public static void main string args public static int fibonacci int i else if i 1 return fibonacci i 2 fibo...

斐波那契數列的兩種優化

遞迴存在許多子問題的重複計算問題,時間複雜度較高。public class fbsl public static intfb int n 首先我們需要乙個全域性的雜湊表來儲存當你第n個數所對應的前兩個數的和。class fb 一旦發現我曾經計算過我就不再遞迴計算,直接返回map集合存的值 if ma...