用go语言对于一个数n,求n的阶乘,即: 1!
时间: 2024-09-27 09:14:43 浏览: 31
在Go语言中计算一个数`n`的阶乘,你可以通过递归或循环的方式实现。这里是一个简单的递归函数示例:
```go
package main
import "fmt"
// 定义阶乘函数,如果n等于0或1,则返回1(因为0! = 1! = 1)
func factorial(n int) int {
if n == 0 || n == 1 {
return 1
} else {
// 递归调用自身,每次减少1,直到n变成1
return n * factorial(n - 1)
}
}
func main() {
num := 5 // 指定你想要计算阶乘的数字
result := factorial(num)
fmt.Printf("The factorial of %d is %d.\n", num, result)
}
```
如果你想了解如何使用循环而不是递归,也可以这样做:
```go
package main
import "fmt"
func factorial(n int) int {
result := 1
for i := 1; i <= n; i++ {
result *= i
}
return result
}
func main() {
num := 5
result := factorial(num)
fmt.Printf("The factorial of %d is %d.\n", num, result)
}
```
阅读全文