Lucas定理 A.B是非负整数,p是质数.AB写成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]) modp同 即:Lucas(n,m,p)=c(n%p,m%p)*Lucas(n/p,m/p,p) 以求解n! % p为例,把n分段,每p个一段,每一段求的结果是一样的.但是需要单独处理每一段的末尾p, 2p, ...,把p提取出来,会发现剩…