求组合数:根据下列公式可以算出从几个不同元素中取出 m 个元素 (msn)的组合数。输人两个正整数m 和几(m≤n) ≤几),计算并输出组合数。要求定义和调用 函数 fact(n)计算n!,函数类型是double。试编写相应程序
时间: 2024-02-22 16:54:53 浏览: 111
好的,根据您的要求,我编写了以下程序来计算组合数:
```python
#include <stdio.h>
double fact(int n) {
if (n == 0) {
return 1.0;
} else {
return n * fact(n - 1);
}
}
double comb(int m, int n) {
if (m > n) {
return 0.0;
} else {
return fact(n) / (fact(m) * fact(n - m));
}
}
int main() {
int m, n;
printf("请输入两个正整数 m 和 n (m <= n):");
scanf("%d %d", &m, &n);
printf("组合数为 %lf\n", comb(m, n));
return 0;
}
```
在这个程序中,我们定义了两个函数,`fact` 和 `comb`。`fact` 函数用来计算 n 的阶乘,`comb` 函数用来计算从 n 个不同元素中取出 m 个元素的组合数。
在 `main` 函数中,我们首先提示用户输入 m 和 n,然后调用 `comb` 函数计算组合数,并将结果输出到屏幕上。
需要注意的是,我们在计算组合数时要判断 m 是否大于 n,如果是,则组合数为 0。
希望这个程序能够满足您的要求。
阅读全文