概率公式:C(n,k)=n(n-1)(n-2)...(n-k+1)/k!,其中k≤n。C表示组合数。
C表示组合数。
C(n,m) 表示n选m的组合数,其中n是下标 , m是上标 (C上面m,下面n)。
nCk是一个整体,是n个元素中,取k个元素的取法的个数,也叫n个元素中,取k
个k组合数,(C代表组合),算法是:
nCk=n!/k!(n-k)!=n(n-1)……(n-k+1)/k!
等于从n开始连续递减的m个自然数的积除以从1开始连续递增的m个自然数的积。
该概率公式的推导过程:
在这个证明中,表示n次实验中,成功的k次,取法的个数。
每次取定后,k次成功,n-k次失败,概率用乘法P=p^k*(1-p)^(n-k)
总共有nCk个取法,即nCk个情况,概率用加法,每个情况的概率又相同,所以
成为nCk倍。
1、当n,m都很小的时候可以利用杨辉三角直接求。
C(n,m)=C(n-1,m)+C(n-1,m-1);
2、利用乘法逆元
乘法逆元:(a/b)%mod=a*(b^(mod-2)) mod为素数。
逆元可以利用扩展欧几里德或欧拉函数求得。
3、当n和m比较大,mod是素数且比较小的时候(10^5左右),通过Lucas定理计算