c++

递归函数c++如何实现

小樊
81
2024-12-07 12:22:38
栏目: 编程语言

在C++中,递归函数是一种调用自身的函数。要实现递归函数,您需要定义一个基本情况(base case)和一个递归情况(recursive case)。基本情况是函数处理的最简单问题,可以直接解决,而递归情况则将问题分解为更小的部分,并调用自身来解决这些更小的部分。

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

#include <iostream>

// 阶乘递归函数
unsigned long long factorial(int n) {
    // 基本情况:0! = 1
    if (n == 0) {
        return 1;
    }
    // 递归情况:n! = n * (n-1)!
    else {
        return n * factorial(n - 1);
    }
}

int main() {
    int number;
    std::cout << "Enter a non-negative integer: ";
    std::cin >> number;

    // 计算阶乘并输出结果
    unsigned long long result = factorial(number);
    std::cout << number << "! = " << result << std::endl;

    return 0;
}

在这个示例中,factorial函数首先检查基本情况(n == 0),如果满足基本情况,则直接返回结果(1)。如果不满足基本情况,函数将问题分解为更小的部分(n * factorial(n - 1)),并调用自身来解决这些更小的部分。最后,main函数接收用户输入的非负整数,并调用factorial函数计算阶乘,然后输出结果。

0
看了该问题的人还看了