求1*2*3*……*n的值 输入 一个整数n,n小于等于10 输出 一个整数
时间: 2024-09-06 08:07:39 浏览: 45
这是一个计算阶乘的问题,阶乘(factorial)表示从1到给定整数n所有正整数的乘积。对于你提到的范围n <= 10,我们可以使用循环来直接计算。这里有一个简单的C++代码示例:
```cpp
#include <iostream>
int factorial(int n) {
if (n == 0 || n == 1) { // 阶乘的基本规则:0! 和 1! 都是1
return 1;
} else {
int result = 1;
for (int i = 2; i <= n; ++i) {
result *= i;
}
return result;
}
}
int main() {
int n;
std::cout << "Enter a number (<= 10): ";
std::cin >> n;
if (n > 10) {
std::cerr << "Input is invalid, please enter a number less than or equal to 10." << std::endl;
} else {
int fact = factorial(n);
std::cout << "The factorial of " << n << " is: " << fact << std::endl;
}
return 0;
}
```