求出第N個斐波那契數

2021-08-14 09:25:09 字數 651 閱讀 3753

一 知識普及(神魔是斐波那契數列)

斐波那契數列(

fibonacci

sequence),又稱 

**分割

數列、因數學家列昂納多·斐波那契(leonardoda fibonacci)以兔子繁殖為例子而引入,故又稱為「 

兔子數列

」,指的是這樣乙個數列: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*).

二 規律

研究斐波那契數列我們會發現,第二個,第乙個數是1,從第三個數開始,以後的每個數都是前兩個數值的和,因此我們可以使用遞迴呼叫.

第一張中的程式是用來遞迴呼叫

第二張中的程式是在main函式中進行呼叫的,如果輸入的是負數,輸出結果是0,如果不是字元陣列,會丟擲異常;

求第n個斐波那契數

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

計算第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 前兩個數之和等於第三個數 但是我們發現有問題 在使用 fib 這個函式的時候如果我們要計算第50個斐波那契數字的時候特別耗費時間。使用 factorial 函式求10000的階乘 不考慮結果的正確性 程式會崩潰。我們發現 fib 函式在...