本文實(shí)例講述了Go語(yǔ)言實(shí)現(xiàn)Fibonacci數(shù)列的方法。分享給大家供大家參考。具體如下:
Fibonacci數(shù)列:1,1,2,3,5,8,13,21,,, (即從第三項(xiàng)起,每一項(xiàng)的值都等于前兩項(xiàng)之后)
第一種,使用遞歸:
復(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)過(guò)檢驗(yàn),使用非遞歸算法的效率要遠(yuǎn)遠(yuǎn)高于遞歸算法。
希望本文所述對(duì)大家的Go語(yǔ)言程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- c#斐波那契數(shù)列(Fibonacci)(遞歸,非遞歸)實(shí)現(xiàn)代碼
- 求斐波那契(Fibonacci)數(shù)列通項(xiàng)的七種實(shí)現(xiàn)方法
- java實(shí)現(xiàn)fibonacci數(shù)列學(xué)習(xí)示例分享(斐波那契數(shù)列)
- c語(yǔ)言的cps實(shí)現(xiàn)求fibonacci數(shù)列示例
- Java基于高精度整型實(shí)現(xiàn)fibonacci數(shù)列的方法
- BAT批處理實(shí)現(xiàn)Fibonacci函數(shù)
- java實(shí)現(xiàn)Fibonacci算法實(shí)例
- 用Python實(shí)現(xiàn)斐波那契(Fibonacci)函數(shù)