package main
import "fmt"
func main() {
var factorial int64 = 1
var number int
fmt.Print("请输入一个整型:")
fmt.Scanf("%d", &number)
for i := 1; i <= number; i++ {
factorial = factorial * int64(i)
}
fmt.Printf("%d的阶乘是%d\n", number, factorial)
}
2 回答
pardon110
TA贡献1038条经验 获得超227个赞
应该用递归,而非for循环,代码如下:
package main
import "fmt"
func factorial(n int) int {
if n == 1 {
return n
} else {
n = n * factorial(n-1)
}
return n
}
func main() {
var number int
fmt.Print("请输入一个整型:")
fmt.Scanf("%d", &number)
fmt.Printf("%d的阶乘是%d\n", number, factorial(number))
}
慕田峪4261139
TA贡献1条经验 获得超0个赞
#100的阶乘 from functools import reduce def fo(x, y): return x * y print(reduce(fo, range(1, 101)))
添加回答
举报
0/150
提交
取消
