用go写一个斐波那契数列
时间: 2024-05-05 12:19:00 浏览: 16
好的,以下是用Go语言写斐波那契数列的示例代码:
```
package main
import "fmt"
func fibonacci(n int) []int {
if n == 0 {
return []int{}
} else if n == 1 {
return []int{1}
} else if n == 2 {
return []int{1, 1}
} else {
fibonacciSlice := fibonacci(n-1)
fibonacciSlice = append(fibonacciSlice, fibonacciSlice[n-2]+fibonacciSlice[n-3])
return fibonacciSlice
}
}
func main() {
fmt.Println("前10个斐波那契数列为:", fibonacci(10))
}
```
运行该程序,会输出前10个斐波那契数列的结果:
```
前10个斐波那契数列为: [1 1 2 3 5 8 13 21 34 55]
```
希望能够满足您的需求。
相关问题
使用go语言写一个斐波那契数列
我可以用Go语言编写一个斐波那契数列,它看起来像这样:package mainimport "fmt"func main() { var a int = 0 var b int = 1 var c int for i := 0; i < 10; i++ { fmt.Println(a) c = a + b a = b b = c } }
go语言写一个斐波那契数列
下面是使用Go语言实现斐波那契数列的两种方法:
方法一:使用递归
```go
func fibonacci(n int) int {
if n <= 1 {
return n
}
return fibonacci(n-1) + fibonacci(n-2)
}
```
方法二:使用循环
```go
func fibonacci(n int) int {
if n <= 1 {
return n
}
var a, b, c int = 0, 1, 0
for i := 2; i <= n; i++ {
c = a + b
a = b
b = c
}
return c
}
```
以上两种方法都可以实现斐波那契数列,第一种方法使用递归,代码简单易懂,但是当n比较大时,递归会导致性能下降;第二种方法使用循环,性能较好,但是代码相对复杂一些。
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)