zoukankan      html  css  js  c++  java
  • 乘法逆元

    转自:https://www.bilibili.com/video/BV12E411c7QH

     ≡

    一,引入

    (a+b)%p = (a%p + b%p) %p

      (a - b) %p = ( a%p + b%p) %p

      (a * b) %p = ( a%p * b%p) %p

      (a / b) %p = ( a%p / b%p) %p

    上式中,第四个是不成立的,即除法不存在逆元。这就让计算 (a / b) %p 变的十分复杂,

    因为:① 分配律的好处:可以在大数运算时候先取余让数变小,在进行加减乘运算

    ② 除法的弊端 :除法会掉精度

    于是就有人想出乘法的逆元来解决这个问题。

    二,

    定义:若在 mod p 的情况下,对于一个整数 a,有 a*x ≡ 1 (mod p),那么这个整数 x 即为 a 的

    乘法逆元,同时 a 也为 x 的乘法逆元   (  ≡ 表示 同余;(mod p) 表示  该式子在两边都 mod p 的情况下成立)

    充要条件:a 存在 mod p 的乘法逆元的充要条件是 gcd ( a , p ) = 1,即 a 与 p 互质。

    应用:求取 (a / b) %p。该值 等同与 a*(b 的逆元) % p

    证明:( a/b ) % p = a*(b 的逆元) % p 

    即证:设 b 的逆元 为 x.,则  b*x ≡ 1 ( mod p ),则可以把 x 认为是  b 在数论上的倒数,

    式子 ① :    (a / b) %p = m

    将 ① * b :    a%p = m * b %p,

    即 a ≡  m * b ( mod p )  .......式子②

    将 ② * x :    a * x  ≡ m * b * x  ( mod p )

    因为:b*x ≡ 1 ( mod p )

    所以:原式 = a * x  ≡ m ( mod p )

    得证。

    求 b 的逆元:费马小定理(p 为质数):在竞赛通常 p 为 质数,因为 p 不为质数时容易找到余数的规律。

    费马小定理:假如 a 是一个整数, p 是一个质数,那么

    1,如果 a 是 p 的倍数,a^p ≡ a (mod p)

    2, 如果 a 不是 p 的倍数,a^(p-1) ≡ 1 (mod p)

    同余式:a ≡ b (mod n) 表示 a,  b 都模 n 后的值相等

    因为 乘法逆元必须满足,a p 互质,所以只需要考虑第二种情况。

    由 2 可得:a * a^(p-2) ≡ 1 ( mod p )

    所以 a%p * (a^(p-2) % p) = 1 %p

    即 a^(p-2) % p 为 a 的逆元,其中 p-2 次方可用快速幂求解。

    总结:

      ( a/b ) % p = a*(a^(p-2) % p) % p 

    =========== ========== ========= ========= ======== ====== ==== === == =

    水调歌头·我饮不须劝 (宋)辛弃疾

    我饮不须劝,正怕酒尊空。别离亦复何恨,此别恨匆匆。头上貂蝉贵客,花外麒麟高冢,人世竟谁雄。一笑出门去,千里落花风。
    孙刘辈,能使我,不为公。余发种种如是,此事付渠侬。但觉平生湖海,除了醉吟风月,此外百无功。毫发皆帝力,更乞鉴湖东。

     

     

     

  • 相关阅读:
    显示器面板参数
    解决SQL Server 2008安装时提示:重新启动计算机 失败
    SQL Server 的 TSQL 语句的性能评估方法
    判断字母大小写
    linux发展史简介
    下载route命令源码
    TCP糊涂窗口综合症
    QT显示中文
    TCP四个定时器 之 TCP坚持定时器
    android 去ListView滑动阴影
  • 原文地址:https://www.cnblogs.com/asdfknjhu/p/13752476.html
Copyright © 2011-2022 走看看