首页 > 其他 > 详细

golang之递归

时间:2017-12-30 18:53:56      阅读:232      评论:0      收藏:0      [点我收藏+]

翠花,上代码

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))
    }
}

 

golang之递归

原文:https://www.cnblogs.com/pyyu/p/8150555.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!