Lucas定理

Lucas

我们要求:\(C_n^m\%p\)的值,\(p\)为质数。

那么让\(n=sp+q,m=tp+r,(q<p,r<p)\)

我们用
\(\tbinom{n}{m}\)表示\(C_n^m\)

根据二项式定理,\((1+x)^n=C_n^0x^0+C_n^1x^1+...+C_n^nx^n\)

那么\((1+x)^n\equiv(1+x)^{sp+q}\equiv ((1+x)^p)^s\times (1+x)^q \ (mod \ p)\)

比较重要的一步到了,因为\(\tbinom{n}{m}=\frac{n!}{(n-m)!m!}\),如果\(n\)为质数,那么无论\(m\)取多少,只要\(m\ne 0\)\(m\ne n\),则\(\tbinom{n}{m}\equiv 0 \ (mod \ n)(m\ne0,m\ne n).\)

那么现在得:\(((1+x)^p)^s\times (1+x)^q \equiv (1+x^p)^s\times (1+x)^q \ (mod \ p)\)

那么,根据二项式定理:

\((1+x^p)^s=C_s^0x^{0}+C_s^1x^{p}+C_s^2x^{2p}...+C_s^sx^{sp}\)

\((1+x)^q=C_q^0x^{0}+C_q^1x^{1}+C_q^2x^{2}...+C_q^qx^{q}\)

化简:\((1+x)^{sp+q}=\sum _{i=0}^s\tbinom{s}{i} x^{ip} \sum _{j=0}^q\tbinom{q}{j}x^j\)

由于\(p>q\),所以\(ip+q\)唯一。

所以对于\(m=tp+r\)项的,一定是 \(\tbinom{n}{m}x^m=\tbinom{sp+q}{tp+r}x^{tp+r}\equiv\tbinom{s}{t}x^{tp}\tbinom{q}{r}x^r\equiv\tbinom{s}{t}\tbinom{q}{r}x^{tp+r} \ (mod\ p)\)

得:\(\tbinom{sp+q}{tp+r}\equiv\tbinom{s}{t}\tbinom{q}{r} \ (mod\ p)\)

可以快速求出\(\tbinom{n}{m}\equiv \tbinom{sp+q}{tp+r}\equiv\tbinom{s}{t}\tbinom{q}{r} \ (mod\ p)\)

posted @ 2019-10-27 11:23  redegg  阅读(169)  评论(0编辑  收藏  举报