1. 程式人生 > >(數論)簡單總結求逆元的幾種方法

(數論)簡單總結求逆元的幾種方法

element ssi 整數 data- xmlns als clas 歐幾裏德 class

逆元(Inverse element),如a?b1(modp),那麽a,b互為模p意義下的逆元,則p|(a/c-b*c)(即a/c與b*c同余)。

常用的求逆元方法有

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的整數通解。

3.逆元線性篩

  遞推公式:inv[i]=inv[p % i] * (p - p / i) % p;

  (註意:p為質數!)

4.一般公式(條件b|a)【並沒有求逆元,而是將等式化為了另一形式】

  a / b mod m=a mod (m * b) / b;

(數論)簡單總結求逆元的幾種方法