首先给出Lucas(卢卡斯)定理:
有非负整数A、B,和素数p,A、B写成p进制为:A=a[n]a[n-1]...a[0],B=b[n]b[n-1]...b[0]。
则组合数C(A,B)与C(a[n],b[n])×C(a[n-1],b[n-1])×...×C(a[0],b[0]) mod p同余。
即:Lucas(n,m,p)=C(n%p,m%p)×Lucas(n/p,m/p,p) ,特别的,Lucas(x,0,p)=1。
其实说白了,Lucas定理就是求组合数C(n,m)mod p(p是素数)的值,即(( n! /(n-m)!)/m