求第n個斐波那契數。(不考慮溢位)

2021-10-12 17:43:53 字數 618 閱讀 9934

較為粗暴的解法

//斐波那契數列1  1  2  3  5  8  13  21:前兩個數之和等於第三個數

但是我們發現有問題;

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

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

我們發現 fib 函式在呼叫的過程中很多計算其實在一直重複。 如果我們把**修改一下:

//斐波那契數列1  1  2  3  5  8  13  21:前兩個數之和等於第三個數

求第n個斐波那契數

斐波那契數指 1 1 2 3 5 8 13 21.前兩個數是1 1,從第3個數開始該數等於前兩個數之和。1.用遞迴的方法求第n個斐波那契數 但我們發現有問題,當就算第45個斐波那契數時,特別耗費時間,許久沒有結果。這是為什麼呢?我們發現fib函式在呼叫過程中有很多重複的計算,如當計算fib 35 時...

求出第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 遞迴法求解過程中,可知存在重複求解相同的函式值的情況,導致效率低...