C++中的遞歸函數是一種函數自己調用自己的方法。遞歸函數通常用于解決可以分解為更小相似問題的問題,例如計算階乘、斐波那契數列等。
下面是一個簡單的C++遞歸函數示例,用于計算階乘:
#include <iostream>
using namespace std;
// 階乘函數
int factorial(int n) {
// 基本情況:如果n為0或1,返回1
if (n == 0 || n == 1) {
return 1;
}
// 遞歸情況:將問題分解為更小的問題,并將結果相乘
else {
return n * factorial(n - 1);
}
}
int main() {
int num = 5;
cout << "The factorial of " << num << " is: " << factorial(num) << endl;
return 0;
}
在這個例子中,factorial函數接受一個整數n作為參數。如果n為0或1,函數返回1,這是基本情況。否則,函數將問題分解為更小的問題(n-1的階乘),并將結果與n相乘,這是遞歸情況。
請注意,在使用遞歸函數時,確保有一個明確的基本情況,以避免無限遞歸。