Talk is cheap.
func Fibonacci(n int) int {
if n <= 1 {
return n
} else {
return Fibonacci(n - 1) + Fibonacci(n - 2)
}
}
func Fibonacci(n int) int {
res := []int{0, 1, 1}
for i := 0; i < n; i++ {
res[0], res[1], res[2] = res[1], res[2], res[1] + res[2]
}
if n <= 2 {
return res[n]
} else {
return res[0]
}
}
func Fibonacci(n int) int {
a, b := 0, 1
for ; n > 0; n-- {
a, b = b, a + b
}
return a
}