一 知識普及(神魔是斐波那契數列)
斐波那契數列(
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 函式在...