码迷,mamicode.com
首页 > 其他好文 > 详细

Lucas定理

时间:2019-10-27 12:20:38      阅读:60      评论:0      收藏:0      [点我收藏+]

标签:cas   sum   rac   现在   class   质数   要求   line   mes   

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)\)

Lucas定理

标签:cas   sum   rac   现在   class   质数   要求   line   mes   

原文地址:https://www.cnblogs.com/redegg/p/11746969.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!