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
本人小白,欢迎各位大佬点评

浙公网安备 33010602011771号