此處使用三種方式實現斐波那契數列:遞迴、遞推和通項公式。
實現過程如下:
#include#include#include#includeusing namespace std;
// 遞迴
int recurrence1(int n)
// 遞推
int recurrence2(int n)
}// 通項公式(得到的值都是整數)
/**pow函式原型:
double pow ( double base, double exponent );
long double pow ( long double base, long double exponent );
float pow ( float base, float exponent );
double pow ( double base, int exponent );
long double pow ( long double base, int exponent );
sqrt函式原型:
double sqrt ( double x );
float sqrt ( float x );
long double sqrt ( long double x );
*/int getgeneraltermformula(int n)
int main()
return 0;
}
時間複雜度:遞迴:o(
因為每乙個數都要通過遞迴求到a[0]或a[1]
遞推:o(n)
通項公式:o(1)
Python演算法 斐波那契數列
典型的遞迴演算法 快速排序會用到 先做個鋪墊 斐波那契數列即著名的兔子數列 1 1 2 3 5 8 13 21 34 數列特點 該數列從第三項開始,每個數的值為其前兩個數之和,用python實現起來很簡單 定義fibonacci數列如下 非遞迴方法的函式實現 def fibs num result ...
演算法之斐波那契數列
斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 斐波那契當時是為了描述如下情況的兔子生長數目 第乙個月初,有一對剛誕生的兔子 第二個月之後 第三個月初 它們可以生育 ...
斐波那契數列Log n 演算法
想法源於題目 乙個人一次可以上乙個台階,也可以上兩個台階,問上到20級台階有多少種走法?這就是乙個斐波那契數列 登上第一級台階有一種登法 登上兩級台階,有兩種登法 登上 台階,有三種登法 登上四級台階,有五種方法 所以,1,2,3,5,8,13 我們也會發現 f 3 f 2 f 1 f 4 2 f2...