转自这里 http://blog.csdn.net/m674019130/article/details/76149170
Lucas定理主要用于组合数取模。
Cmn≡Cm/pn/p⋅Cm%pn%p(modp)
p为素数,m和n为非负整数
(ab)即Cba
证明过程:
已知p为素数,将非负整数a转化为p进制表示
a=akpk+ak−1pk−1+⋯+a1k+a0
因为p是素数,所以对于
1≤j≤p−1
都有
Cjp=pj⋅Cj−1p−1≡0(modp)
于是有
(1+x)p=1+C1p+C2p+⋯+Cp−1pxp−1+Cppxp=1+∑i=1p−1Cjp+xp≡1+xp(modp)①
设
n=sp+q
m=tp+r
即
s=n÷p
q=n%p
t=m÷p
r=m%p
则
(1+x)n=(1+x)sp+q=(1+x)sp⋅(1+x)q=[(1+x)s]p⋅(1+x)q
代入上式得
(1+x)n≡(1+xp)s⋅(1+x)q(modp)②
对
(1+xp)s
和
(1+xp)⋅(1+x)q
分别进行二项式展开得
(1+xp)s⋅(1+x)q≡∑i=0s(si)xip⋅∑j=0q(qj)xj(modp)
即
(1+x)n≡∑i=0s(si)xip⋅∑j=0q(qj)xjmod(modp)③
对
(1+x)n
进行普通二项式展开得:
(1+x)n=∑i=0sp+q(sp+qk)xk
③式中
xtp+r
的系数为
(sp+qtp+r)
寻找②式中
xtp+r
这一项,当且仅当
i=t
,
j=r
时,能得到
xtp+r
的系数,即
(st)
(qr)
即
(sp+qtp+r)≡(st)(qr)(modp)
即
(nm)≡(n/pm/p)(m%pn%p)(modp)
证明完毕。