机器人走方格v2 即学习费马小定理求逆元

详机器人走方格v2 解见 https://blog.csdn.net/greenary/article/details/79343963

费马小定理   扩展欧几里得 用来求逆元

当(a/b)%mod 时不能直接不能对分子分母单独取模

必须先求b的逆元再进行取模运算

x = a ^ ( p - 2 )  (mod p)

(a*x)%mod  x为的逆元

费马小定理 

假如a是一个整数,p是一个质数,那么a^p - a 是p的倍数,可以表示为

a ^ p ≡ a ( mod p)

如果a不是p的倍数,这个定理也可以写成

a ^ ( p - 1 )  ≡ 1 (mod p )

a ^ ( p - 1 )  ≡ 1 (mod p )变形可得 a * a ^ ( p - 2 ) ≡ 1 ( mod p )

显然若a , p 互质 a * a ^ ( p - 2 ) ≡ 1 ( mod  p )

且 a * x ≡ 1 ( mod p), 则 x = a ^ ( p - 2 )  (mod p)

这样的话就能用快速幂算法求出它的逆元X。

扩展欧几里得 也可以求逆元

1 (mod p )变形可得 a * a ^ ( p - 2 ) 1 ( mod p )

显然若a , p 互质 a * a ^ ( p - 2 ) ≡ 1 ( mod  p )

且 a * x ≡ 1 ( mod p), 则 x = a ^ ( p - 2 )  (mod p)

这样的话就能用快速幂算法求出它的逆元。

猜你喜欢

转载自blog.csdn.net/gml1999/article/details/81510206