题目 设计一个程序,计算组合数:C(m,r)=m!/(r!*(m-r)!),其中m,r为正整数,且m>r.分别求出C(4,2),C(6,4),C(8,7)的组合数.求阶乘和组合数分别用函数来实现.,用C++
时间: 2024-05-08 18:22:27 浏览: 84
C语言程序设计-编写main程序调用函数fact求解从m个元素选n个元素的组合数的个数;组合数=m!(n!.(m-n)!);
5星 · 资源好评率100%
以下是用C++实现的程序:
```
#include <iostream>
using namespace std;
int factorial(int n) {
int result = 1;
for(int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
int combination(int m, int r) {
return factorial(m) / (factorial(r) * factorial(m - r));
}
int main() {
int c1 = combination(4, 2);
int c2 = combination(6, 4);
int c3 = combination(8, 7);
cout << "C(4, 2) = " << c1 << endl;
cout << "C(6, 4) = " << c2 << endl;
cout << "C(8, 7) = " << c3 << endl;
return 0;
}
```
其中,`factorial`函数用于计算阶乘,`combination`函数用于计算组合数。在`main`函数中,分别调用`combination`函数计算出C(4, 2),C(6, 4),C(8, 7)的组合数,并输出结果。
阅读全文