go语言--递归求阶乘
package main import "fmt" func digui(x int) int { //定义一个递归函数 var z int if x < 0 { fmt.Printf("你输入的数字有误") } else if x == 1 || x == 0 { //给予递归结束(判断 x 的值是否为1,0)---条件成了后将 x 的值 倒回去重新计算 z = 1 } else { z = digui(x-1) * x //递归--调用自身函数 } return z } func main() { var num int fmt.Printf("请输入你要求的阶乘数\n") fmt.Scanf("%d", &num) dg_num := digui(num) //用一个变量储存递归结果 fmt.Printf("%d!=%d", num, dg_num) }
//运行结果
请输入你要求的阶乘数 5 5!=120 Process finished with exit code 0
本人小白,欢迎各位大佬点评