下面是一個(gè)用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 << "請輸入一個(gè)整數(shù): ";
std::cin >> n;
if (n < 0) {
std::cout << "請輸入一個(gè)非負(fù)整數(shù)!" << std::endl;
return 1;
}
int result = factorial(n);
std::cout << n << " 的階乘是: " << result << std::endl;
return 0;
}
在上面的代碼中,factorial
函數(shù)使用遞歸的方式計(jì)算n的階乘。首先檢查輸入的 n 是否為 0,如果是則返回 1,否則返回 n 乘以 n-1 的階乘。在 main
函數(shù)中,用戶輸入一個(gè)整數(shù) n,然后調(diào)用 factorial
函數(shù)計(jì)算 n 的階乘,并輸出結(jié)果。