C初階(二十六) 函式遞迴 實現求第n個斐波那契數

2021-10-04 11:07:26 字數 746 閱讀 7234

//case4:遞迴和非遞迴分別實現求第n個斐波那契數

//分析:1、斐波那契數:1,1,2,3,5,8,13,21,34,55...

// 2、n<=2時,為1

// n>2時,為fibonacci_number(n) = fibonacci_number(n-1) + fibonacci_number(n-2)

//方法一:遞迴

intfib

(int n)

intmain()

//結果分析:

// 50

// 49 48

// 48 47 47 46

// 47 46 46 45 46 45 45 44

// ...

//使用 factorial 函式求10000的階乘(不考慮結果的正確性),程式會崩潰。

//在使用這個函式的時候如果我們要計算第50個斐波那契數字的時候特別耗費時間。

//方法二:非遞迴---迴圈

// c = a + b;

// a = b;

// b = c;

//第3個斐波那契數--相加1次--迴圈1次

//第4個斐波那契數--相加2次--迴圈2次

intfib

(int n)

return c;

}int

main()

C語言 遞迴和非遞迴分別實現求第n個斐波那契數

問題描述 使用遞迴和非遞迴的方法分別實現求第n個斐波那契數,那麼什麼是斐波那契數。斐波那契數列指的是這樣乙個數列 1 1 2 3 5 8 13 21,後面的每乙個數是前面兩個數的和。解題思路一 遞迴實現 參考 define crt secure no warnings include include...

C語言 遞迴和非遞迴分別實現求第n個斐波那契數

介紹斐波那契數列,斐波那契數列的排列是 1,1,2,3,5,8,13,21,34,55,89,144 這個數列從第三項開始,每一項都等於前兩項之和。遞迴法 注意 使用遞迴的方式雖然很好理解但是會出現n很大使得 效率變低的問題,define crt secure no warnings 1 inclu...

C語言 遞迴和非遞迴分別實現求第n個斐波那契數

1.斐波那契數是什麼 斐波那契數列,又稱 分割數列,指的是這樣乙個數列 0 1 1 2 3 5 8 13 21 34 在數學上,斐波納契數列以如下被以遞迴的方法定義 f 0 0,f 1 1,f n f n 1 f n 2 n 2,n n 特別指出 第0項是0,第1項是第乙個1。2.1.用非遞迴方法 ...