c++

c++递归函数的参数怎样设置

小樊
82
2024-11-20 20:47:59
栏目: 编程语言

在C++中,递归函数通常需要一个基本情况(base case)来终止递归,以及一个递归情况(recursive case)来逐步逼近基本情况。为了实现递归,你需要将问题分解为更小的子问题,并将这些子问题作为参数传递给递归函数。

以下是一个简单的递归函数示例,用于计算阶乘:

#include <iostream>

// 递归函数,计算阶乘
unsigned long long factorial(unsigned int n) {
    // 基本情况:0的阶乘为1
    if (n == 0) {
        return 1;
    }
    // 递归情况:n的阶乘等于n乘以(n-1)的阶乘
    else {
        return n * factorial(n - 1);
    }
}

int main() {
    unsigned int n = 5;
    std::cout << "Factorial of "<< n << " is: " << factorial(n) << std::endl;
    return 0;
}

在这个例子中,factorial函数接受一个unsigned int类型的参数n。基本情况是当n为0时,返回1。递归情况是计算n * factorial(n - 1),即将问题分解为更小的子问题(计算(n-1)的阶乘),并将子问题作为参数传递给递归函数。

0
看了该问题的人还看了