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

求逆元的相关知识

时间:2015-09-28 16:25:23      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

 

 

 

 

 

 

  定义:满足a*k≡1 (mod p)的k值就是a关于p的乘法逆元。

  (1)为什么要有乘法逆元呢?

    答:当我们要求(a/b) mod p的值,且a很大,无法直接求得a/b的值时,我们就要用到乘法逆元。

  (2)如何求逆元?

    答:我们可以通过求b关于p的乘法逆元k,将a乘上k再模p( 即(a*k)%p,这样比较好算 )。其结果与 (a/b) % p 等价。

  (3)如何证明?

  证明:
    根据b*k≡1 (mod p)有b*k=p*x+1,那么k=(p*x+1)/b。
    把k代入(a*k) mod p,得:
      (a*(p*x+1)/b) mod p
    =((a*p*x)/b+a/b) mod p
    =[((a*p*x)/b) mod p +(a/b)] mod p
    =[(p*(a*x)/b) mod p +(a/b)] mod p
    //注:p*[(a*x)/b] mod p=0,因为既然要取模,a/b的结果肯定是为正整数。
    所以原式等于:(a/b) mod p 

  证毕!

 

求逆元的相关知识

标签:

原文地址:http://www.cnblogs.com/xcw0754/p/4844145.html

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