Golang程序 寻找一个给定数字的阶乘(使用递归)
例子
5的阶乘 = 54321 = 120
10的阶乘 = 1098765432*1 =
解决这个问题的方法
- 第1步:定义一个接受数字(大于0)的函数,类型为int。
- 第2步:如果数字是1,则返回1。
- 第3步:否则,返回
num*function(num-1)
。
程序
package main
import "fmt"
func factorial(num int) int{
if num == 1 || num == 0{
return num
}
return num * factorial(num-1)
}
func main(){
fmt.Println(factorial(3))
fmt.Println(factorial(4))
fmt.Println(factorial(5))
}
输出
6
24
120