📅  最后修改于: 2023-12-03 14:58:39.182000             🧑  作者: Mango
阶乘公式是计算阶乘的一种方式,阶乘是一个正整数与小于它的正整数的积,用符号“!”表示。例如,$5!$表示1到5的所有正整数的乘积,即$5 \times 4 \times 3 \times 2 \times 1$,结果为120。
阶乘公式如下:
$n! = \prod_{i=1}^{n} i$
其中,$n$是一个正整数,$i$从1到$n$循环乘积,称为乘积符号(product notation)或乘积号。
在编写程序时,可以使用循环或递归实现阶乘公式。以下是使用循环实现阶乘的Python代码:
def factorial(n):
result = 1
for i in range(1, n+1):
result *= i
return result
在上述代码中,函数factorial接收一个参数n,代表要计算的数的阶乘。然后通过for循环,从1到n循环乘积,最终返回结果。
以下是使用递归实现阶乘的Python代码:
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
在上述代码中,函数factorial接收一个参数n,代表要计算的数的阶乘。如果n为0,则返回1,否则递归计算$n \times (n-1) \times \cdots \times 1$,最终返回结果。
使用循环实现阶乘公式的时间复杂度为$O(n)$,使用递归实现阶乘公式的时间复杂度为$O(n)$,空间复杂度为$O(n)$(递归调用堆栈的深度为n)。在实际应用中,应根据具体情况选择使用循环或递归实现阶乘公式。