• 免费注册  马上登录
  • 切换到窄版
  • go语言|go语言部落|go文库

    查看: 94|回复: 0

    Go 语言的递归函数实例阶乘

    [复制链接]

    23

    主题

    23

    帖子

    118

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    118
    发表于 2019-11-25 19:28:57 | 显示全部楼层 |阅读模式
    package main

    import "fmt"

    //递归函数:递归,就是在运行的过程中调用自己。
    //语法格式如下:
    //func recursion() {
    // recursion() // 函数调用自身
    //}
    //注意:Go 语言支持递归。但我们在使用递归时,开发者需要设置退出条件,否则递归将陷入无限循环中。
    //递归函数对于解决数学上的问题是非常有用的,就像计算阶乘
    func Factorial(n uint64) uint64{
       if n<=1{
          return 1
       }
       return n*Factorial(n-1)//n!=(n-1)!×n
    }
    func main() {
       var a uint64=10fmt.Printf("%d的阶乘是%d",a,Factorial(a))
    }



    打印结果:
    10的阶乘是3628800


    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|Go语言社区

    GMT+8, 2020-4-1 22:58 , Processed in 0.046282 second(s), 18 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表