查詢斐波納契數列中第 n 個數。
所謂的斐波納契數列是指:
前2個數是 0 和 1 。
第 i 個數是第 i-1 個數和第i-2 個數的和。
斐波納契數列的前10個數字是:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ...
實現兩種方式:
1。遞迴:實現相對簡單,但遞迴執行效率低,產生的時間複雜度為指數階o(2^n),即2的n次方;
public class solution
if(n==2)
return fibonacci(n-1)+fibonacci(n-2);
}}
2。非遞迴:運用陣列計算,避免無限遞迴;產生的時間複雜度為線性階o(n).;
public class solution
if(n==2)
int ary =new int[n];
ary[0]=0;
ary[1]=1;
for(int i=3;i<=n;i++)
return ary[n-1];
}}
Fibonacci(斐波納契)數列求解 zz
unsigned long fib int n else 遞迴演算法與定義公式十分吻合,容易理解,但計算過程存在大量重複的運算,時間複雜度達到了o 2 n 使用的記憶體空間也隨著函式呼叫棧的增長而增長。這顯然不適於實用的程式。2 表驅動的遞迴法。這裡不提純粹的表驅動法,因為對於項數未知的fibona...
斐波納契數列
f 1 0 f 2 1 f n f n 1 f n 2 斐波納契數列決定審美和諧性 800年前,義大利的數學家李奧納多 斐波那契出版了驚世之作 算盤書 在 算盤書 裡,斐波納契提出了著名的 兔子生兔子的問題 有乙個人把一對兔 子放在四面圍著的地方。假定每個月一對兔子生下另外一對。而這新的一對在二個月...
斐波納契數列
斐波納契數列又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 34 此本章通過多種方式實現斐波納契數列 第一種 for 迴圈實現 a,b 0,1 for i in ...