C语言题要求编写程序,计算出从n个不同元素中取出m个元素(m≤n)的组合数。不用fact(n)
时间: 2024-06-13 18:05:14 浏览: 129
***=m!(n−m)!n!,可以使用循环计算出从n个不同元素中取出m个元素的组合数。具体实现如下:
```c
#include <stdio.h>
int main()
{
int m, n;
double result = 1;
printf("请输入m和n(m<=n):");
scanf("%d %d", &m, &n);
for (int i = 1; i <= m; i++)
{
result *= (double)(n - m + i) / i;
}
printf("从%d个不同元素中取出%d个元素的组合数为%.0lf\n", n, m, result);
return 0;
}
```
其中,变量result初始化为1,循环从1到m,每次乘上一个分数,分子为n-m+i,分母为i,最终得到的result即为组合数。
阅读全文