📜  阶乘公式 (1)

📅  最后修改于: 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)。在实际应用中,应根据具体情况选择使用循环或递归实现阶乘公式。