(数论)简单总结求逆元的几种方法


逆元(Inverse element),如a∗b≡1(modp),那么a,b互为模p意义下的逆元,则p|(a/c-b*c)(即a/c与b*c模p同余)。

常用的求逆元方法有
1.费马小定理
  若p为素数,且gcd(a,p)=1,则a^(p-1)≡1(mod p),即a*a^(p-2)≡1(mod p),故a的逆元为a^p-2

 2.拓展欧几里德算法(递推再回溯)
  当gcd(A,B)|C时,可求二元一次方程Ax+By=C的整数通解。
  当gcd(A,B)=1时,可求逆元。

3.逆元线性筛
  递推公式:inv[i]=inv[p % i] * (p - p / i) % p;
  (注意:p为质数!)

4.一般公式(条件b|a)【并没有求逆元,而是将等式化为了另一形式】
  a / b mod m=a mod (m * b) / b;

posted @ 2018-09-19 00:08  Ekalos  阅读(1147)  评论(0编辑  收藏  举报