Lucas 定理
形式:
对于质数 p,和非负整数 n,m,有:
令:n=(ak−1ak−2…a2a1)p,表示 n 在 p 进制下的形式。
令:m=(bk−1bk−2…b2b1)p,表示 n 在 p 进制下的形式。
那么有:
(mn)≡i=0∏k−1(biai)(modp)
证明
引理 1
对于多项式 F(x)。
F(x)p=F(xp)
证明:
根据数学归纳法,只要证明: (F(x)+G(x))p=F(xp)+G(xp) 即可。
通过二项式定理,有:
(F(x)+G(x))p=i=0∑p(ip)F(x)iG(x)p−i
只要再证明 ∀1≤x<p,都满足 p∣(xp) 即可。
显然:
(xp)=x!(p−x)!p!
又因为 p 是质数且 1≤x<p ,所以分子包含质因子 p,而分母不包含,因此 p∣(xp)。
Lucas
先定义多项式 F(x)=(1+x)nmodp,那么 (mn)modp 就是 xm 项的系数。
F(x)≡(1+x)n≡i=0∏k−1(1+x)aipi≡i=0∏k−1(1+xpi)ai≡i=0∏k−1(j=0∑ai(jai)xjpi)(modp)(modp)(modp)(modp)
那么显然 xm 的系数就是 ∏i=0k−1(biai)modp,因为对于这 k−1 项中,每一项都只能选择 (biai)xbipi。