溫馨提示×

c++遞歸函數怎樣實現

c++
小樊
100
2024-12-03 03:52:06
欄目: 編程語言

在C++中,遞歸函數是一種調用自身的函數。要實現一個遞歸函數,您需要定義一個基本情況(base case)和一個遞歸情況(recursive case)?;厩闆r是函數處理的最簡單問題,可以直接解決,而遞歸情況是將問題分解為更小的子問題,然后調用自身來解決這些子問題。

下面是一個簡單的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)),然后調用自身來解決這些子問題。最后,當遞歸到基本情況時,函數開始返回值并逐級解決更大的問題。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女