3 编写求 n!的函数 f(int n),在主函数中输入两个整数 m、n,然后调用函数求: 【注意】函数 f 的类型应用 long 或 double 。
时间: 2024-02-28 22:54:39 浏览: 51
好的,我来为您编写这个程序,下面是代码实现:
```c
#include <stdio.h>
long f(int n); // 声明求阶乘的函数
int main() {
int m, n;
printf("请输入两个整数m和n(m <= n):");
scanf("%d %d", &m, &n);
long result = 1;
for (int i = m; i <= n; i++) {
result *= f(i);
}
printf("%d到%d的阶乘之积为:%ld\n", m, n, result);
return 0;
}
long f(int n) {
long result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
```
在程序中,我们定义了一个求阶乘的函数 `f`,并在主函数中调用这个函数来求出指定区间内的阶乘之积。同时,我们使用了 `long` 类型来存储阶乘的结果,以避免阶乘过大的问题。
相关问题
编写求n!的函数f(int n),在主函数中输入两个整数m、n,然后调用函数求: C=m!/n!(m -n)!
好的,我可以编写这个函数。以下是代码示例:
```c++
#include <iostream>
using namespace std;
int f(int n) {
if (n <= 1) {
return 1;
} else {
return n * f(n - 1);
}
}
int main() {
int m, n;
cout << "请输入两个整数m和n,以空格分隔:" << endl;
cin >> m >> n;
int C = f(m) / (f(n) * f(m - n));
cout << "C=" << C << endl;
return 0;
}
```
这个函数使用递归的方式计算n的阶乘。在主函数中,首先输入两个整数m和n,然后调用函数计算组合数C。最后输出结果。
阅读全文