这个 C++ 程序是使用递归计算阶乘的示例。
数字的阶乘定义为从 1 到该数字的所有整数的乘积。我们无法计算负数的阶乘,零的阶乘为一。感叹号表示数字的阶乘“!”。例如,5! = 1*2 *3*4*5 = 120。
n! = 1 * 2 * 3 * 4 *……..* n。
递归是一个函数不断调用自身的過程,直到满足某些条件。为了防止无限递归,可以使用 if...else 语句(或类似方法)
要了解更多关于 C++ 中的递归,请访问我们的递归教程。
为了找到阶乘,我们要求用户输入一个正整数并将该数字读取到变量中。定义一个递归函数 factorial () 来计算数字的阶乘。将输入的数字传递给阶乘函数。
int factorial(int n)
在此函数中,数字 n 乘以 (n – 1) 的阶乘。为此,数字 (n – 1) 再次传递给 factorial () 函数,直到该值达到 1。最后,将结果打印为阶乘。

步骤 1: 调用头文件 iostream。
步骤 2: 使用 namespace std。
步骤 3:定义一个函数 factorial ();
n * factorial ( n – 1) 直到 n > 1;
返回该值
否则返回 1;
步骤 4: 打开整数类型主函数;int main()。
步骤 5: 声明整数变量;n;
步骤 6: 打印一条消息,要求输入一个不大于 12 的正整数。
步骤 7: 将值读取到变量 n 中;
步骤 8: 调用函数 factorial(n);
步骤 9: 退出;
#include<iostream>
using namespace std;
int factorial(int n);
int main() {
int n;
cout << "Enter a positive integer less than 12: ";
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 a positive integer less than 12: 6 Factorial of 6 = 720