闽公网安备 35020302035485号
package main
import (
"fmt"
)
func fibonacci(n int) (r int) {
if n <= 2 {
return 1
}
return fibonacci(n-1) + fibonacci(n-2)
}
func main() {
for i := 0; i < 10; i++ {
fmt.Printf("%d, ", fibonacci(i))
}
}
得到结果:1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,斐波拉契数列的递归实现优化
package main
import (
"fmt"
)
func advanceFibonacii(n int) (r int) {
if n <= 2 {
return 1
}
result := 1
for i := 2; n > i; n-- {
result += advanceFibonacii(n - 2)
}
return result
}
func main() {
for i := 0; i < 10; i++ {
fmt.Printf("%d, ", advanceFibonacii(i))
}
}
得到结果1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,斐波那契数列的应用
8.斐波那契螺旋形的摇椅