递归
在C++中,递归函数是一个自我调用的函数。
为了避免递归无限地运行,您必须包含终止条件。
现在,为了演示递归,我们创建一个程序来计算一个数字的阶乘。
在数学中,阶乘阶数是指所有小于或等于特定的非负整数(n)的正整数的乘积。n的阶乘表示为n!。
例如:
5! = 5 * 4 * 3 * 2 * 1 = 120
现在,让我们来定义我们的函数:
int factorial(int n) {
if (n==1) {
return 1;
}
else {
return n * factorial(n-1);
}
}
if 语句定义退出条件。在这种情况下,当n等于1时,返回1(1的阶乘是1)。
我们将递归函数调用放在else语句中,返回n乘以n-1的阶乘。
例如,如果使用参数3调用阶乘函数,它将执行如下: 返回3 * factorial(2),即3 * 2 * factorial(1),即3 * 2 * 1。
提示:阶乘(factorial)函数自我调用,然后一直继续,直到参数等于1。
现在,我们可以称之为阶乘函数了。
int factorial(int n) {
if (n==1) {
return 1;
}
else {
return n * factorial(n-1);
}
}
int main() {
cout << factorial(3);
}
//输出 6
退出条件的另一个名称是基本情况。
提示:一个退出条件(基本情况)是真正的递归所必需的。没有它,递归将永远持续运行。
文章评论