Go 语言求数字阶乘的程序

编写一个 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 Program to Find Factorial of a Number

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