c++计算阶乘的代码
时间: 2024-12-12 10:31:13 浏览: 9
C++求阶乘的两种方法
在 C++ 中,你可以使用递归或者循环来计算阶乘。这里分别给出两个简单的例子:
**递归方法**:
```cpp
#include <iostream>
// 使用递归函数计算阶乘
unsigned long long factorial(int n) {
if (n == 0 || n == 1) // 阶乘的基本情况:0和1的阶乘都是1
return 1;
else
return n * factorial(n - 1); // 递归调用自身
}
int main() {
int num;
std::cout << "请输入一个非负整数:";
std::cin >> num;
try {
std::cout << "该数的阶乘是:" << factorial(num) << std::endl;
} catch (std::overflow_error& e) {
std::cout << "阶乘结果过大,无法表示为 unsigned long long!" << std::endl;
}
return 0;
}
```
**循环方法**:
```cpp
#include <iostream>
// 使用循环计算阶乘
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 num;
std::cout << "请输入一个非负整数:";
std::cin >> num;
std::cout << "该数的阶乘是:" << factorial(num) << std endl;
return 0;
}
```
阅读全文