数论之Lucas定理及证明过程

转自这里 http://blog.csdn.net/m674019130/article/details/76149170

Lucas定理主要用于组合数取模

CmnCm/pn/pCm%pn%p(modp)

pmn

(ab)Cba

证明过程:

已知p为素数,将非负整数a转化为p进制表示

a=akpk+ak1pk1++a1k+a0

因为p是素数,所以对于

1jp1

都有

Cjp=pjCj1p10(modp)

于是有

(1+x)p=1+C1p+C2p++Cp1pxp1+Cppxp=1+i=1p1Cjp+xp1+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)qi=0s(si)xipj=0q(qj)xj(modp)

(1+x)ni=0s(si)xipj=0q(qj)xjmod(modp)

(1+x)n进行普通二项式展开得:

(1+x)n=i=0sp+q(sp+qk)xk

③式中xtp+r的系数为(sp+qtp+r)

寻找②式中xtp+r这一项,当且仅当i=tj=r时,能得到xtp+r的系数,即(st) (qr)

(sp+qtp+r)(st)(qr)(modp)

(nm)(n/pm/p)(m%pn%p)(modp)

证明完毕。


你可能感兴趣的:(数论)