用C++编写函数power (),实现求N!在主函数中输入N,并调用该函数,输出结果
时间: 2024-12-23 20:27:12 浏览: 0
在C++中,你可以通过递归或者循环的方式来实现计算阶乘的power()函数。这里我们先来看一个简单的递归版本:
```cpp
#include <iostream>
// 动态规划优化的递归函数,用于计算阶乘
unsigned long long factorial(unsigned int n) {
if (n == 0 || n == 1)
return 1; // 阶乘的基本情况,0和1的阶乘都是1
else
return n * factorial(n - 1); // 递归调用,n! = n * (n - 1)!
}
int main() {
unsigned int N;
std::cout << "请输入一个非负整数N: ";
std::cin >> N;
// 检查输入是否合法
if (N < 0) {
std::cerr << "错误:阶乘只对非负整数定义。" << std::endl;
return 1;
}
unsigned long long result = factorial(N);
std::cout << "N!的结果是: " << result << std::endl;
return 0;
}
```
在这个程序中,`factorial()`函数负责计算阶乘,`main()`函数则处理用户输入并调用`factorial()`。请注意,由于C++默认整型溢出可能会导致错误,对于较大的数值,可能需要使用`unsigned long long`作为返回类型。
阅读全文