本文實例講述了Go語言實現(xiàn)Fibonacci數(shù)列的方法。分享給大家供大家參考。具體如下:
Fibonacci數(shù)列:1,1,2,3,5,8,13,21,,, (即從第三項起,每一項的值都等于前兩項之后)
第一種,使用遞歸:
復(fù)制代碼 代碼如下:
func fibonacci(a int) int {
if a == 1 || a == 2 {
return 1
}
return fibonacci(a-1) + fibonacci(a-2)
}
第二種,不使用遞歸:
復(fù)制代碼 代碼如下:
func fibonacci_version2(index int) int {
if index == 1 || index == 2 {
return 1
}
a, b := 1, 1
for i := 3; i = index; i++ {
a, b = b, (a + b)
}
return a + b
}
經(jīng)過檢驗,使用非遞歸算法的效率要遠遠高于遞歸算法。
希望本文所述對大家的Go語言程序設(shè)計有所幫助。
您可能感興趣的文章:- c#斐波那契數(shù)列(Fibonacci)(遞歸,非遞歸)實現(xiàn)代碼
- 求斐波那契(Fibonacci)數(shù)列通項的七種實現(xiàn)方法
- java實現(xiàn)fibonacci數(shù)列學(xué)習(xí)示例分享(斐波那契數(shù)列)
- c語言的cps實現(xiàn)求fibonacci數(shù)列示例
- Java基于高精度整型實現(xiàn)fibonacci數(shù)列的方法
- BAT批處理實現(xiàn)Fibonacci函數(shù)
- java實現(xiàn)Fibonacci算法實例
- 用Python實現(xiàn)斐波那契(Fibonacci)函數(shù)