斐波那契數列(遞迴與迴圈的區別)

2021-07-05 12:09:34 字數 555 閱讀 5748

遞迴:

#include

long

long f(unsigned

int n);

return n<2?t[n]:f(n-1)+f(n-2);

}void main()

迴圈:#include

long

long f(unsigned

int n);

if(n<2)

return t[n];

long

long s1=0;

long

long s2=1;

long

long num=0;

unsigned

int i=2;

for(i=2;i<=n;i++)

return num;

}void main()

由於遞迴存在重複計算的問題所以它的的時間複雜度遠大於迴圈方法的實現

青蛙跳台階的問題實際上就是用到了斐波那契數列的思想

![題目描述](

![**分析](

斐波那契數列,遞迴與迴圈

斐波那契數列 fibonacci sequence 又稱 分割數列 兔子數列,是數學家列昂納多 斐波那契於1202年提出的數列。斐波那契數列為1 1 2 3 5 8 13 21 34 此數列從第3項開始,每一項都等於前兩項之和,遞推公式為f n f n 1 f n 2 n 3,f 1 1,f 2 1...

迴圈斐波那契數列 斐波那契數列應用

什麼是斐波那契數列 斐波那契數列指的是這樣乙個數列 1,1,2,3,5,8,13,21,34,55,89,144 這個數列從第3項開始,每一項都等於前兩項之和 台階問題 有一段樓梯有10級台階,規定每一步只能跨一級或兩級,要登上第10級台階有幾種不同的走法?這就是乙個斐波那契數列 登上第一級台階有一...

遞迴與斐波那契數列

迭代實現 def fab n a1 1 a2 1 a3 1if n 1 print 輸入有誤 return 1 while n 2 0 a3 a1 a2 a1 a2 a2 a3 a 1return a3 result fab 20 if result 1 print 總共有 d對小兔子誕生 resu...