为了更好地理解这个示例,我们始终建议您学习下面列出的 Golang 编程 的基础主题
在此程序中,我们将学习在不使用递归函数的情况下计算数字的阶乘。我们知道递归函数是可以调用自身的函数。但是在此程序中,我们通过使用循环而不是递归函数来进行此计算。在此之前,这里简要解释一下阶乘是什么。
我们可以说给定数字的阶乘是直到该给定数字的所有自然数的乘积。它将用感叹号“!”表示。下面显示了一些阶乘的例子。
4的阶乘 = 4*3*2*1 = 24
5的阶乘 = 5*4*3*2*1 = 120
在本节中,我们将重点介绍如何在不使用递归的情况下找到给定数字的阶乘。这里我们可以使用内置函数 fmt.scanln() 读取输入值。输出可以通过使用内置函数 fmt.println() 来显示。这两个内置函数都定义在 fmt 包下。为了使用这些函数,我们应该将“fmt”包导入到我们的程序中。
在这个GO程序中,声明变量“i、num和fact”,并使用内置函数fmt.println()和fmt.scanln()从用户那里读取输入数字。将输入值保存到变量num中。检查数字是否小于或等于零。如果是,则阶乘为1,否则通过检查循环条件i<= num来迭代循环。在每次迭代中,计算fact = fact * i。最后,结果存储在变量fact中。在屏幕上显示数字的阶乘。
下面是在Go程序中实现阶乘的步骤
步骤 1:导入包 **fmt**
步骤 2:打开 main() 开始程序,GO 程序执行从 main() 开始
步骤3:声明变量num和fact。
步骤4:读取要查找阶乘的输入数字num。
步骤5:检查数字是否小于或等于零。如果是,则设置“fact=1”并执行步骤7。否则执行步骤6。
步骤6:使用for循环,条件为“i<=num”,计算阶乘fact=fact*i。在此,每次迭代将“i”的值增加1。
步骤7:显示数字num的阶乘为fact。
步骤8:退出
package main
import "fmt"
func main(){
var num, fact int
fmt.Println ("Enter the number")
fmt.Scanln(#)
if num <= 0 {
fact = 1;
}
fact = 1
for i := 1; i <= num; i++ {
fact = fact * i
}
fmt.Println ("Factorial of",num ,"=", fact)
} /* End of main() */
Enter the number 5 Factorial of 5 = 120