首页 > 编程 > Golang > 正文

Go语言实现Fibonacci数列的方法

2020-04-01 19:22:12
字体:
来源:转载
供稿:网友
这篇文章主要介绍了Go语言实现Fibonacci数列的方法,实例分析了使用递归和不使用递归两种技巧,并对算法的效率进行了对比,需要的朋友可以参考下
 

本文实例讲述了Go语言实现Fibonacci数列的方法。分享给大家供大家参考。具体如下:

Fibonacci数列:1,1,2,3,5,8,13,21,,, (即从第三项起,每一项的值都等于前两项之后)

第一种,使用递归:

 

复制代码代码如下:
func fibonacci(a int) int {  
    if a == 1 || a == 2 {  
        return 1  
    }  
    return fibonacci(a-1) + fibonacci(a-2)  
}

 

第二种,不使用递归:

复制代码代码如下:
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  
}

 

经过检验,使用非递归算法的效率要远远高于递归算法。

希望本文所述对大家的Go语言程序设计有所帮助。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表