• 「乘法逆元」 学习笔记


    若$ab ≡ 1 (mod p)$,则称$b$是$mod p$意义下$a$的乘法逆元,可记为$a^{-1}$

    定义反过来也是成立的,即$a$是$mod p$意义下$b$的乘法逆元

    乘法逆元

    意义

    模运算中的除法是不符合四则运算法则的,然而加减乘都符合。所以数学家们利用乘法逆元来完成除法的需求。

    例如有同余方程$a * b ≡ c ( mod p )$,若要消去$b$,可乘上$b$在模$p$意义下的乘法逆元$b^{-1}$,由于$b * b^{-1} ≡ 1 ( mod p )$,因此$a ≡ c * b^{-1} ( mod p )$

    扩展欧几里得算法

    直接求解此同余方程$a*b ≡ 1  ( mod p )$即可

    欧拉定理

    由于$a^{φ(n)} ≡ 1  ( mod p )$,故任意的$a$的逆元可以是$a^{φ(n)-1}$

    线性递推

    当要求解$1...N$每个数的逆元(模意义相同)时,采用线性递推最为高效

    设此时模意义为$p$,可以将$p$表示为$p = k * i + r$

    显然$$k * i + r ≡ 0 ( mod p )$$

    两边同时乘以$i^{-1} * r^{-1}$可得$$k * i * i^{-1} * r ^ {-1} + r * i^{-1} * r^{-1} ≡ 0 ( mod p )$$$$k * r^{-1} + i^{-1} ≡ 0 ( mod p )$$

    移项即可$$ i^{-1} ≡ -k * r^{-1}  ( mod p )$$

    其意义也就是$$i^{-1} ≡ -left lfloor dfrac{p}{i} ight floor * (p \% i)^{-1}  ( mod p )$$

    这就是递推公式了

  • 相关阅读:
    java 项目的CAS搭建
    OpenStack Grizzly版本(Ubuntu 12.04)配置
    存储介质管理
    软件包管理
    终端和键盘
    Shell环境(environment)和配置(configuration)
    Linux 基本命令入门
    iptables的原理及使用
    移动小球 (sicily 1934) (双向链表)
    1010 Tempter of the Bone (杭电) (图Graph)
  • 原文地址:https://www.cnblogs.com/qixingzhi/p/9332813.html
Copyright © 2020-2023  润新知