这道题目要求编写程序,根据下列公式可以计算出从n个不同的元素中取出m个元素(m<=n)的组合数。编写程序,输入2个正整数m和n(m<=n),计算并输出n个元素中取出m个元素(m<=n)的组合数。 要求定义和调用函数fact(n),计算n的阶乘,函数返回类型为double。
时间: 2024-03-07 19:50:42 浏览: 144
好的,这是一个很简单的组合数计算问题。我们可以使用公式C(n,m) = n! / (m! * (n-m)!)来计算。
以下是一个示例程序:
```c++
#include <iostream>
using namespace std;
double fact(int n)
{
double result = 1;
for(int i=1; i<=n; i++)
{
result *= i;
}
return result;
}
int main()
{
int m, n;
cout << "请输入两个正整数m和n(m<=n):" << endl;
cin >> m >> n;
double result = fact(n) / (fact(m) * fact(n-m));
cout << "从" << n << "个元素中取" << m << "个元素的组合数为:" << result << endl;
return 0;
}
```
在这个程序中,我们定义了一个函数`fact(n)`来计算n的阶乘,然后在主函数中调用这个函数来计算组合数。
阅读全文