斐波那契数列 (C#)
生活随笔
收集整理的這篇文章主要介紹了
斐波那契数列 (C#)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
斐波那契數列(Fibonacci sequence),又稱黃金分割數列、因數學家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數列”,指的是這樣一個數列:1、1、2、3、5、8、13、21、34...
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?---百度百科
1 >>>數組? ? ? ? 很好理解。
?求第a位的數是多少?
第a位在循環中的下標是a-1。所以返回list[a-1];
public static int Fbnq(int a){int[] list = new int[a];list[0] = 1;list[1] = 1;for (var i = 2; i < a; i++){list[i] = list[i - 1] + list[i - 2];}return list[a - 1];}?
2 >>>遞歸? ? ? ? ?很簡潔,難理解,耗性能。
??求第a位的數是多少?
遞歸有終點。本例終點就是a<=2的時候返回值是1。
講解:例如傳入的a是30,求第30位是多少?
30進入函數執行:后邊的語句。執行時 她發現需要Fbn1(29)+Fbn1(28),又發現29需要27+28,28需要27+26...... 直到到Fbn1(0)+Fbn1(1)【a<=2時】。函數有了值1
然后一路加回去,便求出Fbnq(30).
public static int Fbnq1(int a){return a <= 2 ? 1 : Fbnq1(a - 1) + Fbnq1(a - 2);}?學習階段,有錯誤還望指出,謝謝!
?
轉載于:https://www.cnblogs.com/zx3180/p/9482863.html
總結
以上是生活随笔為你收集整理的斐波那契数列 (C#)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WebSocket使用中Stomp Cl
- 下一篇: 记一次面试腾讯的奇葩经历