📜  C++程序使用递归计算数字的阶乘

📅  最后修改于: 2020-09-25 06:05:19             🧑  作者: Mango

使用递归查找非负整数(用户输入)的阶乘的示例。

该程序从用户处获取一个正整数,然后计算该数字的阶乘。假设用户输入6,

Factorial will be equal to 1*2*3*4*5*6 = 720

在此示例中,您将学习使用递归函数查找数字的阶乘。

访问此页面以了解如何使用循环来计算阶乘。

示例:使用递归计算阶乘

#include
using namespace std;

int factorial(int n);

int main()
{
    int n;

    cout << "Enter a positive integer: ";
    cin >> n;

    cout << "Factorial of " << n << " = " << factorial(n);

    return 0;
}

int factorial(int n)
{
    if(n > 1)
        return n * factorial(n - 1);
    else
        return 1;
}

输出

Enter an positive integer: 6
Factorial of 6 = 720

在上面的程序中,假设用户输入数字6。该数字将传递给factorial() 函数。

在此函数,将6乘以(6-1 = 5)的阶乘。为此,将数字5再次传递给factorial() 函数。

同样,在下一次迭代中,将5乘以(5-1-4)。并且,将4传递给factorial() 函数。

一直持续到值达到1并且函数返回1。

现在,每个函数将值返回以计算1 * 2 * 3 * 4 * 5 * 6 = 720,该值将返回给main() 函数。