用Go语言写一个函数,生成一个斐波那契数列
时间: 2023-04-03 17:00:40 浏览: 76
好的,这是一个生成斐波那契数列的 Go 语言函数的示例:
```
func Fibonacci(n int) []int {
fibList := make([]int, n)
fibList[0], fibList[1] = 1, 1
for i := 2; i < n; i++ {
fibList[i] = fibList[i-1] + fibList[i-2]
}
return fibList
}
```
使用方法:
```
fibList := Fibonacci(10)
fmt.Println(fibList) // 输出: [1 1 2 3 5 8 13 21 34 55]
```
斐波那契数列的通项公式为:
F(n) = F(n-1) + F(n-2)
其中,F(0)=1,F(1)=1。
上面的代码实现了这个通项公式,并通过循环生成了一个包含 n 个数的斐波那契数列。
相关问题
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比较大时,递归会导致性能下降;第二种方法使用循环,性能较好,但是代码相对复杂一些。
使用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 } }
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)