c++语言求n的阶乘
时间: 2024-09-21 07:09:04 浏览: 46
C++求阶乘的两种方法
在C++中,计算一个数n的阶乘可以使用递归函数或者循环来实现。这里是一个简单的递归版本的例子:
```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); // 递归调用,将问题规模缩小到 n-1
}
}
int main() {
int n;
std::cout << "请输入一个非负整数: ";
std::cin >> n;
if (n >= 0)
std::cout << "阶乘结果是: " << factorial(n) << std::endl;
else
std::cout << "输入错误,阶乘只对非负整数定义。\n";
return 0;
}
```
如果你需要防止过大的数值导致溢出,你可以考虑使用`long long`数据类型,因为阶乘的结果会随着n的增长而快速增加。
阅读全文