码迷,mamicode.com
首页 > 其他好文 > 详细

乘法逆元

时间:2018-09-02 20:14:08      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:接下来   a*   乘法逆元   欧拉   根据   bsp   等价   答案   目的   

  一般的,对于加减乘的运算取模没有太多限制,而且通过欧拉定理的推论,我们也可以对乘方运算取模达到减少运算次数的目的。但是对于除法运算:

显然:a/b≠( (a%mod)/(b%mod) )%mod 那么如果遇到需要缩小数据范围的时候,就要用的接下来讲的乘法逆元。

 

乘法逆元:

  根据需要,我们需要取模,并且保证余数不变(不影响正确答案)。所以我们假设:a/b≡a*x(mod p) 容易看出,x符合我们想要的数的性质。于是,乘

法逆元定义如下:若整数b,m互质,并且b|a,则存在一个整数x使得a/b≡a*x(mod p),称xb的模p的乘法逆元  记为b-1(mod p)

a/b≡a*x(mod p)变形:(a/b)≡(a/b)*b*x(mod p),所以b*x≡1(mod p)

即有:b*b-1≡1(mod p)p为质数,根据费马小定理:bp-1≡1(mod p),即:b*bp-2≡1(mod p) 所以,bp-2此时就是b的乘法逆元(p为质数)。

如果只是保证b,m互质,那么我们也可以通过求解同余方程:b*x≡1(mod p)x即为乘法逆元。

 

以后再遇到a/b这样的除式,先把a,b各自先对mod取模,求出b的乘法逆元(b-1,然后把(a*b-1)% mod做为结果。当然前提是b,m互质,并且b|a

另外,如果模数是质数,那b,m互质就等价于b不是m的倍数。

乘法逆元

标签:接下来   a*   乘法逆元   欧拉   根据   bsp   等价   答案   目的   

原文地址:https://www.cnblogs.com/zylAK/p/9574638.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!