C++中的遞歸函數是一種調用自身的函數。遞歸函數通常用于解決那些可以通過將問題分解為更小規模的相同問題來解決的問題。要編寫遞歸函數,請遵循以下步驟:
以下是一個C++遞歸函數的示例,用于計算階乘:
#include <iostream>
// 基本情況:0的階乘和1的階乘都是1
int factorial_base_case() {
return 1;
}
// 遞歸情況:n的階乘等于n乘以(n-1)的階乘
int factorial_recursive_case(int n) {
if (n == 0 || n == 1) {
return factorial_base_case();
} else {
return n * factorial_recursive_case(n - 1);
}
}
int main() {
int number = 5;
std::cout << "The factorial of " << number << " is: " << factorial_recursive_case(number) << std::endl;
return 0;
}
在這個例子中,factorial_recursive_case
函數是遞歸函數,它首先檢查基本情況(當n
為0或1時),然后調用自身計算較小規模的階乘。