卢卡斯定理/Lucas 定理小结
Lacus
求:
\[\Large C_m^n~mod ~p
\]
则:
\[\Large C_m^n~mod~p=C_{\frac{m}{p}}^{\frac{n}{p}} \times C_{m~mod~p}^{n~mod~p}~mod~p
\]
由于 \(C_{m~mod~p}^{n~mod~p}\) 上下两项都比 \(p\) 小,可以直接套组合数公式。
而前面 \(C_{\frac{m}{p}}^{\frac{n}{p}}\) 可以继续套lucas求解。
证明懒得写。
Code:
int lucas(int m, int n)
{
if(m==0) return 1;
return lucas(m/p, n/p)*C(m%p, n%p)%p;
}
本文来自博客园,作者:zhangtingxi,转载请注明原文链接:https://www.cnblogs.com/zhangtingxi/p/15657340.html