您的位置:首页 > 其它

模板_Lucas定理

2016-03-01 20:03 399 查看
long long fac
;long long n,m,p;
void init(){fac[0]=1;for(int i=1;i<=p;i++) fac[i]=fac[i-1]*i%p;}
long long pow(long long a,long long b,long long res=1){
while(b){if(b&1) res=res*a%p;a=a*a%p,b>>=1;}
return res;
}
long long C(long long n,long long m){return fac
*pow(fac[m]*fac[n-m]%p,p-2)%p;}
long long Laucs(long long n,long long m,long long res=1){
while(n&&m){
if(n%p<m%p) return 0;
res=res*C(n%p,m%p)%p,n/=p,m/=p;
}
return res;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: