package main
import (
"fmt"
"time"
)
/*
递归原则,一个大问题分解成相似的小问题
定义好出口条件,否则死循环
*/
func calc(n int) int {
if n == 1 {
return 1
}
return calc(n-1) * n
}
func recusive(n int) {
fmt.Println("你好呀")
time.Sleep(time.Second)
if n > 10 {
return
}
recusive(n + 1)
}
func factor(n int) int {
if n == 1 {
return 1
}
return factor(n-1) * n
}
//斐波那
func fab(n int) int {
if n <= 1 {
return 1
}
return fab(n-1) + fab(n-2)
}
func main() {
//fmt.Println(factor(5))
//recusive(0)
for i := 0; i < 10; i++ {
fmt.Println(fab(i))
}
}