package main
import "fmt"
// FibonacciFor 循环
func FibonacciFor(num int) []int {
a := 0
b := 1
l := make([]int, 0)
for i := 0; i < num; i++ {
l = append(l, a)
tmp := a
a = b
b = tmp + a
}
return l
}
// FibonacciRecursive 递归
func fibonacci(num int) int {
if num == 0 {
return 0
} else if num == 1 {
return 1
} else {
return fibonacci(num-1) + fibonacci(num-2)
}
}
func FibonacciRecursive(num int) []int {
l := make([]int, 0)
for i := 0; i < num; i++ {
l = append(l, fibonacci(i))
}
return l
}
func main() {
res := FibonacciRecursive(10)
fmt.Println(res)
}
【数据结构连载一栈】【斐波那契数列】golang
最新推荐文章于 2024-10-04 18:59:43 发布
该博客展示了如何使用Go语言通过循环和递归两种方式实现斐波那契数列。`FibonacciFor`函数利用for循环高效地计算斐波那契数列,而`FibonacciRecursive`函数则通过递归方式实现,但效率较低。在`main`函数中,调用递归方法计算前10项并打印结果。
摘要由CSDN通过智能技术生成