【数论】排列组合A(n,m)与C(n,m)
2020-06-11 15:47:00 # ACM

公式


代码模拟公式计算
例:C(7,3)则循环三次每次分别为
$5 / 1$ ,
$5 * 6 / 1 * 2$ ,
$5 * 6 * 7 / 1 * 2 * 3$

C(n,m)

1
2
3
4
5
6
7
8
9
#define LL long long
LL C(LL n,LL m) // n为下标 m为上标
{
LL k,sum = 1;
for(k=1;k<=m;k++){
sum = (sum*(n-m+k))/k;
}
return sum;
}

A(n,m)

1
2
3
4
5
6
7
8
9
#define LL long long
LL A(LL n,LL m)
{
LL k,sum = 1;
for(k=1;k<=m;k++){
sum = (sum*(n-m+k));
}
return sum;
}
Prev
2020-06-11 15:47:00 # ACM
Next