C+求1000以内n的阶乘
时间: 2024-09-13 14:07:38 浏览: 40
在C++中计算1000以内任意整数n的阶乘是一个常见的编程练习,可以采用递归或者循环的方式来实现。这里我们提供一种简单的递归方法:
```cpp
#include <iostream>
unsigned long long factorial(int n) {
if (n == 0 || n == 1)
return 1; // 阶乘的基本情况,0! 和 1! 都等于1
else
return n * factorial(n - 1); // 递归调用,n! = n * (n - 1)!
}
int main() {
int num;
std::cout << "请输入一个0到999之间的整数:";
std::cin >> num;
if (num >= 1000) {
std::cout << "输入超出范围,阶乘只对小于1000的整数有效。\n";
} else {
unsigned long long fact = factorial(num);
std::cout << "该数的阶乘为:" << fact << "\n";
}
return 0;
}
```
这个程序首先检查输入是否在范围内,然后通过递归调用`factorial`函数计算阶乘。请注意,由于阶乘增长非常快,当n较大时结果会很大,可能会超过`unsigned long long`类型的存储范围,所以对于大数值,实际应用中可能需要其他方法,如使用`long long`或者第三方库。
阅读全文