数字 N 的阶乘是从 1 到该数字的所有数字的总乘积,换句话说,它将我们选择的数字到 1 的所有整数相乘。阶乘的符号是“!”,使用的公式是 n! = n * (n-1) * (n-2) *... 要清楚地理解这个概念,下面图片中给出了一些例子。

注意:零的阶乘定义为一,即 0! = 1
在这个 R 程序中,我们使用了 if...else 条件语句和 for 循环。首先,我们通过在 readLine() 函数中使用“prompt”向用户提供适当的消息,将用户输入的数字接受到变量 number 中。
阶乘只对正整数定义,因此首先检查输入的数字是否为正数,如果不是则显示为负整数。现在检查如果数字为零则显示阶乘为1。现在对于正整数,从 i=1 到该数字开始一个 for 循环,并在每次迭代中将每个“i 值”乘以“阶乘”,以获得该数字的最终结果。最后,向用户显示输出。
步骤 1:向用户提示适当的消息,使用 readline() 将用户输入到一个变量中
步骤 2:使用 if...else 语句检查数字是负数、零还是正数
步骤 3:如果数字为正数,我们使用 for 循环计算阶乘,即 factorial = factorial x i,直到 i = 1 到 number
步骤 4:打印结果
如果您有兴趣使用递归学习此 R 程序,请参阅此使用递归的阶乘程序。
number = as.integer(readline(prompt="Enter a number: "))
factorial = 1
# check is the number is negative, positive or zero
if(number < 0) {
print("Sorry, factorial does not exist for negative numbers")
} else if(number == 0) {
print("The factorial of 0 is 1")
} else {
for(i in 1:number) {
factorial = factorial * i
}
print(paste("The factorial of", number ,"is",factorial))
}
Enter a number: -5 [1] "Sorry, factorial does not exist for negative numbers" Enter a number: 0 [1] "The factorial of 0 is 1" Enter a number: 8 [1] "The factorial of 8 is 40320"