c++:输入一个正整数N,输出N的阶乘。
时间: 2024-10-01 13:02:42 浏览: 52
C++版本计算n阶乘末尾0的个数原理讲解及代码实现
在C++中,计算一个正整数N的阶乘(Factorial),意味着将所有小于及等于N的正整数相乘。这个过程可以用递归或者循环实现,下面是一个简单的循环版本的代码示例:
```cpp
#include <iostream>
// 函数声明,用于计算阶乘
unsigned long long factorial(int N);
int main() {
int N;
std::cout << "请输入一个正整数: ";
std::cin >> N;
// 检查输入是否合法
if (N < 0) {
std::cout << "输入错误,阶乘只对正整数有意义。\n";
return 1;
}
// 计算并输出阶乘
unsigned long long result = factorial(N);
std::cout << "N的阶乘是: " << result << "\n";
return 0;
}
// 阶乘计算函数
unsigned long long factorial(int N) {
// 初始化阶乘为1
unsigned long long fact = 1;
// 循环从1累乘到N
for (int i = 1; i <= N; ++i) {
fact *= i;
}
return fact;
}
```
这段代码首先获取用户输入的正整数N,然后调用`factorial`函数计算阶乘。如果输入不是正整数,会给出提示并退出。在`factorial`函数中,我们使用了一个`for`循环,每次迭代都将当前的积乘以(i+1),直到达到N。
阅读全文