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-06-11 23:41:51 发布