求第n個斐波那契數

2021-08-15 11:25:51 字數 577 閱讀 9834

斐波那契數指 1 1 2 3  5 8  13  21....前兩個數是1 1,從第3個數開始該數等於前兩個數之和。

1.用遞迴的方法求第n個斐波那契數

但我們發現有問題,當就算第45個斐波那契數時,特別耗費時間,許久沒有結果。這是為什麼呢?

我們發現fib函式在呼叫過程中有很多重複的計算,如當計算fib(35)時需要多次計算fib(3),導致時間緩慢。

但是用迭代的方法便不存在上述問題

總結:許多問題是用遞迴的方式進行解釋,是因為它比非遞迴的形式更加清晰;

上述問題用迭代實現比遞迴實現效率更高,但**可讀性稍差;

當乙個問題相當複雜,難以用迭代實現時,此時遞迴實現的簡潔性便可補償它所帶來的執行是開銷。

求出第N個斐波那契數

一 知識普及 神魔是斐波那契數列 斐波那契數列 fibonacci sequence 又稱 分割 數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 34 在數學上,斐波納契數...

計算第n個斐波那契數

n 1,f n f n 1 f n 2 f 0 0 f 1 1 求第n個斐波那契數 利用已知的斐波那契數的遞推公式即可 public class fibonacci public static void main stringagrs 遞迴法求解過程中,可知存在重複求解相同的函式值的情況,導致效率低...

求第n個斐波拉契數

首先介紹斐波那契數列,斐波那契數列的排列是 1,1,2,3,5,8,13,21,34,55,89,144 依次類推下去,你會發現,它後乙個數等於前面兩個數的和。在這個數列中的數字,就被稱為斐波那契數。如果要找出其中任意乙個數,可以用下面兩種演算法解決 用遞迴法 define crt secure n...