本文实例讲述了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语言程序设计有所帮助。

声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。