38 lines
561 B
Go
38 lines
561 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"strconv"
|
|
)
|
|
|
|
func FibonacciLoop(n int) int {
|
|
f := make([]int, n+1, n+2)
|
|
if n < 2 {
|
|
f = f[0:2]
|
|
}
|
|
f[0] = 0
|
|
f[1] = 1
|
|
for i := 2; i <= n; i++ {
|
|
f[i] = f[i-1] + f[i-2]
|
|
}
|
|
return f[n]
|
|
}
|
|
|
|
func FionaccoRecursion(n int) int {
|
|
if n <= 1 {
|
|
return n
|
|
}
|
|
return FionaccoRecursion(n-1) + FionaccoRecursion(n-2)
|
|
}
|
|
|
|
func main() {
|
|
for i := 0; i <= 50; i++ {
|
|
fmt.Print(strconv.Itoa(FibonacciLoop(i)) + " ")
|
|
}
|
|
fmt.Println("")
|
|
for i := 0; i <= 50; i++ {
|
|
fmt.Print(strconv.Itoa(FionaccoRecursion(i)) + " ")
|
|
}
|
|
fmt.Println("")
|
|
}
|