Description
求组合数C(n,m)
Input
T(0 < T < 2000)
每组样例两个数n, m(0 < n, m< 60)
Output
C(n,m)
Sample Input
2
1 1
2 1
Sample Output
1
2
组合数模板
**
long long get(int m,int n){
long long res=1;
for(int i=0;i<m;i++){
res = res*(n-i)/(i+1);
}
return res;
}
AC代码
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <iostream>
#include <algorithm>
#include <vector>
#include <stack>
#include <queue>
#include <stdlib.h>
#include <sstream>
#include <map>
#include <set>
using namespace std;
long long get(int m,int n){
long long res=1;
for(int i=0;i<m;i++){
res = res*(n-i)/(i+1);
}
return res;
}
int main()
{
int a;
scanf("%d",&a);
int n, m;
for(int i = 1; i <= a;i++)
{
scanf("%d%d",&n,&m);
long long k = get(m,n);
printf("%lld\n",k);
}
return 0;
}