用c++写一个阶乘代码
时间: 2024-09-15 09:08:26 浏览: 45
在C++中,你可以用递归或循环的方式来编写计算阶乘的简单函数。以下是两种方法:
**1. 递归实现**
```cpp
#include <iostream>
unsigned long long factorial(int n) {
if (n == 0 || n == 1)
return 1;
else
return n * factorial(n - 1);
}
int main() {
int num;
std::cout << "请输入一个非负整数: ";
std::cin >> num;
if (num < 0) {
std::cerr << "错误:阶乘只对正整数定义。" << std::endl;
} else {
std::cout << "阶乘结果: " << factorial(num) << std::endl;
}
return 0;
}
```
**2. 循环实现**
```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;
if (num < 0) {
std::cerr << "错误:阶乘只对正整数定义。" << std::endl;
} else {
std::cout << "阶乘结果: " << factorial(num) << std::endl;
}
return 0;
}
```
阅读全文