c++:求n的阶乘(n大于等于1,小于等于12)
时间: 2024-09-07 11:04:33 浏览: 129
用递归方法求n!-谭浩强经典C++教程
在 C++ 中计算 n 的阶乘(n!),当 n 大于等于 1 且小于等于 12 时,可以使用递归或循环的方式来实现。以下是两个简单的示例:
**递归实现:**
```cpp
#include <iostream>
using namespace std;
unsigned long long factorial(int n) {
if (n == 0 || n == 1)
return 1; // 阶乘的基本情况
else
return n * factorial(n - 1); // 递归调用
}
int main() {
int n;
cout << "请输入一个数字(1-12): ";
cin >> n;
if (n >= 1 && n <= 12) {
cout << "该数的阶乘是: " << factorial(n);
} else {
cout << "输入错误,n 必须在1到12之间.";
}
return 0;
}
```
**循环实现:**
```cpp
#include <iostream>
using namespace std;
unsigned long long factorial(int n) {
unsigned long long result = 1;
for (int i = 1; i <= n; ++i) {
result *= i;
}
return result;
}
int main() {
int n;
cout << "请输入一个数字(1-12): ";
cin >> n;
if (n >= 1 && n <= 12) {
cout << "该数的阶乘是: " << factorial(n);
} else {
cout << "输入错误,n 必须在1到12之间.";
}
return 0;
}
```
阅读全文