Go语言实现Fibonacci数列的方法
2015-02-08 11:30
901 查看
本文实例讲述了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)
}
第二种,不使用递归:
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语言程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- Go语言服务器开发之简易TCP客户端与服务端实现方法
- go语言channel实现多核并行化运行的方法
- Go语言利用time.After实现超时控制的方法详解
- go语言优化参数过多方法,变相实现可选参数
- syncOnce的Go语言与C++11实现方法
- Go语言中通过结构体匿名字段实现方法的继承和重载
- GO语言实现列出目录和遍历目录的方法
- go语言中sort包的实现方法与应用详解
- Go语言实现简单Web服务器的方法
- Go语言实现字符串切片赋值的方法小结
- go语言实现文件分割的方法
- Go语言实现定时器的方法
- Go语言实现Fibonacci数列的两个算法(使用递归和不使用递归)
- Go语言模拟while语句实现无限循环的方法
- go语言实现猜数字小游戏的方法
- go语言之斐波那契数列的几种实现方法
- go语言实现一个简单的http客户端抓取远程url的方法
- go语言实现sqrt的方法
- go语言实现AES加密的方法