下面是一個用C++遞歸算法求n的階乘的示例代碼:
#include <iostream>
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n-1);
}
}
int main() {
int n;
std::cout << "請輸入一個整數: ";
std::cin >> n;
if (n < 0) {
std::cout << "請輸入一個非負整數!" << std::endl;
return 1;
}
int result = factorial(n);
std::cout << n << " 的階乘是: " << result << std::endl;
return 0;
}
在上面的代碼中,factorial
函數使用遞歸的方式計算n的階乘。首先檢查輸入的 n 是否為 0,如果是則返回 1,否則返回 n 乘以 n-1 的階乘。在 main
函數中,用戶輸入一個整數 n,然后調用 factorial
函數計算 n 的階乘,并輸出結果。