题目描述
编写一个函数,m和n是参数,按以下公式求组合数的值,假设m,n都是正整数,且m>n。
主函数负责输入m和n的值,并调用函数求出组合数的值,并输出
输入
测试数据的组数 t
第一组m,n
第二组m,n
…
输出
第一组组合数的值
第二组组合数的值
…
示例输入1 <-复制
3
8 5
6 3
10 8
示例输出1
56
20
45
#include<iostream>
using namespace std;
int main() {
int combine(int a, int b);
int t;
cin >> t;
while (t--) {
int m, n;
cin >> m >> n;
cout << combine(m, n) << endl;
}
return 0;
}
int combine(int a, int b) {
int m1=1,n1=1,mn=1;
for (int i = 1; i <= a; i++)
m1*= i;
for (int k = 1; k <= b; k++)
n1 *= k;
for (int u = 1; u <= a - b; u++)
mn*= u;
return (m1 / (n1 * mn));
}