• 乘法逆元


    乘法逆元

    定义

    对于(a,p,x in mathbb Z),若((a,p)=1),且(ax equiv 1(mod;p)),则将(x)称作(a)在模(p)意义下的逆元,记作(x=a^{-1})

    主要性质

    [bx equiv b/a(mod;p) ]

    我们知道,同余是不满足同除性的(除数与模数互质时除外),因此不能直接对除法进行取模。而这条性质,可以将除法转换为乘法,从而可以在过程中取模。

    下面给出此性质的证明:

    [egin{aligned} &ecause ax equiv 1(mod;p)\ & herefore abx equiv b(mod;p)\ 又&ecause (a,p)=1\ & herefore bx equiv b/a(mod;p) end{aligned} ]

    求法

    扩展欧几里得算法

    扩展欧几里得算法可以用来求(ax+by=(a,b))这一方程的一组特解,而我们所要求的是(ax equiv 1(mod;p))的解。将原方程进行变形,我们可以得到

    [egin{aligned} &ecause ax equiv 1(mod;p)\ & herefore p mid (ax-1)\ & herefore ax-1=-py(y in mathbb Z)\ & herefore ax+py=1 end{aligned} ]

    故使方程(ax+py=1)成立的(x)值即为(a)的逆元。

    代码如下:

    void exgcd(int a,int b,int &x,int &y)
    {
        if(!b)
        {
            x=1;
            y=0;
            return;
        }
        exgcd(b,a%b,x,y);
        int t=x;
        x=y;
        y=t-a/b*y;
        return;
    }
    

    欧拉定理

    根据欧拉定理,对于(a,p in mathbb Z),若((a,p)=1),则有(a^{varphi (p)} equiv 1(mod;p)),由此可得

    [a cdot a^{varphi(p)-1} equiv 1(mod;p) ]

    (a^{varphi(p)-1})即为(a)的逆元。

    费马小定理

    根据费马小定理,对于(a,p in mathbb Z),若(p)为素数,则有(a^{p} equiv a(mod;p))

    特别地,当((a,p)=1)时,(a^{p-1} equiv 1(mod;p))

    由此可得

    [a cdot a^{p-2} equiv 1(mod;p) ]

    (a^{p-2})即为(a)的逆元。

    递推

    对于(1le i < p,i in mathbb{Z})

    [egin{aligned} &设p=ki+t(k,tin mathbb{Z},0<t<i)\ & herefore k=p/i,t=p\%i,ki+t equiv 0(mod;p)\ & herefore ki equiv -t(mod;p)\ & herefore -kt^{-1} cdot i equiv 1(mod;p)\ end{aligned} ]

    (-kt^{-1})(i)的逆元,

    由取值范围可以得到若从(1)开始递推,(t^{-1})将比(i^{-1})先进行计算,所以我们可以得到递推式

    [i^{-1}= egin{cases} 1 & ext{i=1}\ -p/i*(p\%i)^{-1} & ext{1<i<p} end{cases} ]

    代码如下:

    inv[1]=1;
    for(int i=2;i<=n;++i)
    	inv[i]=(p-p/i)*inv[p%i]%p;
    
  • 相关阅读:
    poj 2312 Battle City
    poj 2002 Squares
    poj 3641 Pseudoprime numbers
    poj 3580 SuperMemo
    poj 3281 Dining
    poj 3259 Wormholes
    poj 3080 Blue Jeans
    poj 3070 Fibonacci
    poj 2887 Big String
    poj 2631 Roads in the North
  • 原文地址:https://www.cnblogs.com/Psephurus-Gladius-zdx/p/12127910.html
Copyright © 2020-2023  润新知