溫馨提示×

遞歸函數c++如何實現

c++
小樊
105
2024-12-07 12:22:38
欄目: 編程語言

在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)),并調用自身來解決這些更小的部分。最后,main函數接收用戶輸入的非負整數,并調用factorial函數計算階乘,然后輸出結果。

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