组合数计算
Posted keynman
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了组合数计算相关的知识,希望对你有一定的参考价值。
组合数的计算有好多方法,我慢慢填坑2333
1.$C_{n}^{k}=\frac{n-k+1}{k}C_{n}^{k-1}$
Proof:
$$C_{n}^{k}=\frac{n!}{k!(n-k)!}=\frac{n-k+1}{k}*\frac{n!}{(k-1)!(n-k+1)!}=\frac{n-k+1}{k}C_{n}^{k-1}.$$
利用此结论可非常快速有效的计算一个组合数了。
下给出代码:计算$C_{n}^{k}$(实际操作可将ans换成long long型)
1 int ans=1; 2 for(int i=1;i<=k;i++) { 3 ans=ans*(n-i+1)/i; 4 } 5 printf("%d\n",ans);
以上是关于组合数计算的主要内容,如果未能解决你的问题,请参考以下文章