golang之递归
翠花,上代码
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)) } }
努力成为一个开发者
个人站点:www.pythonav.cn