求逆元:
1.顺推求逆元:
inv[1]=1;//顺推求逆元 for(int i=2;i<=n;i++)//从2开始!!! inv[i]=( (mod-mod/i)*inv[mod%i] +mod ) %mod;
2.求阶层的逆元:
void init_fac(int n) { fac[0]=1; for(int i=1;i<=n;i++) fac[i]=fac[i-1]*i %mod; invfac[n]=quick_pow(fac[n],mod-2);//费马小定理求逆元 for(int i=n;i>=1;i--) invfac[i-1]=invfac[i]*i %mod;//就像求倒数一样 求阶层逆元 }
3.费马小定理求逆元:
inv=quick_pow(x,mod-2);