编写一个 Go 程序,使用 For 循环计算一个数字的阶乘。for 循环 (for i := 1; i <= factorialnum; i++) 从一开始迭代,直到用户给定的值。在循环内部 (factorial = factorial * i),我们将每个值与 factorial 变量的值相乘。
package main
import "fmt"
func main() {
var factorialnum, factorial int
factorial = 1
fmt.Print("Enter any Number to find the Factorial = ")
fmt.Scanln(&factorialnum)
for i := 1; i <= factorialnum; i++ {
factorial = factorial * i
}
fmt.Println("The Factorial of ", factorialnum, " = ", factorial)
}

Go 语言使用函数计算数字阶乘的程序
在这个 示例 中,我们创建了一个单独的函数 (calcFactorial (factorialnum int)),该函数返回用户给定数字的阶乘。
package main
import "fmt"
var factorial int
func calcFactorial(factorialnum int) int {
factorial = 1
for i := 1; i <= factorialnum; i++ {
factorial = factorial * i
}
return factorial
}
func main() {
var factorialnum int
fmt.Print("Enter any Number to find the Factorial = ")
fmt.Scanln(&factorialnum)
factorial = calcFactorial(factorialnum)
fmt.Println("The Factorial of ", factorialnum, " = ", factorial)
}
Enter any Number to find the Factorial = 9
The Factorial of 9 = 362880
在这个 Golang 程序中,我们创建了一个递归函数来返回一个数字的阶乘。
package main
import "fmt"
var factorial int
func calcFactorial(factorialnum int) int {
if factorialnum == 0 || factorialnum == 1 {
return 1
} else {
return factorialnum * calcFactorial(factorialnum-1)
}
}
func main() {
var factorialnum int
fmt.Print("Enter any Number to find the Factorial = ")
fmt.Scanln(&factorialnum)
factorial = calcFactorial(factorialnum)
fmt.Println("The Factorial of ", factorialnum, " = ", factorial)
}
Enter any Number to find the Factorial = 4
The Factorial of 4 = 24
这个数字阶乘程序使用指针概念来实现结果。
package main
import "fmt"
func main() {
var factorialnum, factorial int
var nw *int
factorial = 1
fmt.Print("Enter any Number to find the Factorial = ")
fmt.Scanln(&factorialnum)
nw = &factorialnum
for i := 1; i <= *nw; i++ {
factorial = factorial * i
}
fmt.Println("The Factorial of ", factorialnum, " using Normal = ", factorial)
fmt.Println("The Factorial of ", *nw, " using Pointers = ", factorial)
}
Enter any Number to find the Factorial = 6
The Factorial of 6 using Normal = 720
The Factorial of 6 using Pointers = 720
使用按引用传递计算数字阶乘的示例。
package main
import "fmt"
var factorial int
func calcFactorial(factnum *int) int {
factorial = 1
for i := 1; i <= *factnum; i++ {
factorial = factorial * i
}
return factorial
}
func main() {
var factorialnum int
fmt.Print("Enter any Number to find the Factorial = ")
fmt.Scanln(&factorialnum)
factorial = calcFactorial(&factorialnum)
fmt.Println("The Factorial of ", factorialnum, " = ", factorial)
}
Enter any Number to find the Factorial = 7
The Factorial of 7 = 5040