编写函数 long fac ( int m )求阶乘 m !
时间: 2024-05-15 17:16:49 浏览: 9
以下是一个简单的 C++ 实现:
```c++
long fac(int m) {
long result = 1;
for (int i = 2; i <= m; i++) {
result *= i;
}
return result;
}
```
这个函数使用一个循环来计算 m 的阶乘。首先将 result 初始化为 1,因为任何数的阶乘乘积初始为 1。然后遍历从 2 到 m 的所有数字,并将它们乘以 result。最后返回 result 的值,即 m 的阶乘。
相关问题
编写函数 long fac ( int m )求阶乘 m !编写函数求int pow2( int n )求2
的n次方。
C++代码如下:
```cpp
#include <iostream>
using namespace std;
long fac(int m) {
long res = 1;
for(int i = 1; i <= m; i++) {
res *= i;
}
return res;
}
int pow2(int n) {
int res = 1;
for(int i = 0; i < n; i++) {
res *= 2;
}
return res;
}
int main() {
int m, n;
cout << "请输入一个整数m:";
cin >> m;
cout << m << "的阶乘为:" << fac(m) << endl;
cout << "请输入一个整数n:";
cin >> n;
cout << "2的" << n << "次方为:" << pow2(n) << endl;
return 0;
}
```
注:这里使用了long类型和int类型,分别是长整型和整型,用于存储比较大的数值。
利用递归函数求阶乘 本题要求实现1个自定义函数:求阶乘函数 函数接口定义: long long fac(int);
以下是利用递归函数求阶乘的实现代码:
```c++
long long fac(int n) {
if (n <= 1) { // 递归终止条件
return 1;
}
else {
return n * fac(n-1); // 递归调用
}
}
```
在这个递归函数中,如果输入的参数 n 小于等于1,那么就返回1,这是递归的终止条件。否则,函数就会递归调用自己,传入参数 n-1,并将结果与 n 相乘,最终返回结果。这样就能够实现求阶乘的功能。