📜  阶乘 - C++ (1)

📅  最后修改于: 2023-12-03 14:58:39.127000             🧑  作者: Mango

阶乘 - C++

阶乘是一种数学运算,用于计算一个数的阶乘。阶乘的定义如下:0的阶乘为1,正整数n的阶乘为n! = 1 * 2 * 3 * … * n。

在C++中,阶乘可以通过递归或循环来实现。以下是两种实现方式的代码片段:

递归法实现阶乘
int factorial(int n) {
    if (n == 0) {
        return 1;
    } else {
        return n * factorial(n-1);
    }
}

这个函数接收一个整数n作为参数,返回n的阶乘值。如果参数是0,则返回1,否则递归调用自身并将结果乘以当前的n值。

循环法实现阶乘
int factorial(int n) {
    int result = 1;
    for (int i = 1; i <= n; i++) {
        result *= i;
    }
    return result;
}

这个实现使用循环来计算阶乘。循环从1到n,每次将当前的i值乘以result变量,最终返回result的值。

以上是两种常用的计算阶乘的方法。使用这些方法可以计算较小的阶乘,但是当n过大时,可能会导致内存溢出或计算速度变慢。