首页 > 其他分享 >乘法逆元

乘法逆元

时间:2023-08-12 22:44:21浏览次数:36  
标签:int 逆元 乘法 ans equiv mod

定义

若在\(\mod p\) 意义下,对于一个整数 \(a\) ,有 \(a*x\equiv 1(\mod p)\),那么这个整数 \(x\) 即为 \(a\) 的乘法逆元,同时 \(a\) 也为 \(x\) 的乘法逆元。


充要条件

\(a\) 存在模 \(p\) 的乘法逆元的充要条件是
\(\gcd(a,p)=1\),即 \(a\bot p\)。


应用

\(x\gets b\)的逆元

\(a/b\mod p\) 等同于求 \(a*x\mod p\)


证明&验证

\(x\gets b\) 的逆元

\(b*x\equiv1(\mod p)\)

可以认为 \(x\) 是 \(b\) 数论上的dao数

那么 \(a/b\mod p\) 可以转换为 \(a*x\mod p\)


\(a/b\mod p=m\) ......\(1\)式

\(1\) 式 \(*b\) 得

\(a\mod p=m*b\mod p\)

\(a\equiv m*b(\mod p)\)......\(2\)式

\(2\)式 \(*x\) 得

\(a*x\equiv m*b*x(\mod p)\)

\(\because b*x\equiv1(\mod p)\)

\(\therefore a*x\equiv m(\mod p)\)

综上,得证


费马小定理求解

假设 \(a\in\mathbb{N}\),\(p\) 是素数

  • 如果 \(a\) 是 \(p\) 的倍数,\(a^p\equiv a(\mod p)\)

  • 如果 \(a\) 不是 \(p\) 的倍数,\(a^{p-1}\equiv 1(\mod p)\)

因为 \(a\bot p\) ,用第二条

\(a^{p-1}\equiv 1(\mod p)\) 转化变成

\(a*a^{p-2}\equiv 1(\mod p)\)

\(x=a^{p-2}\mod p\)

快速幂即可

typedef long long LL;
int QWQ(int a,int p){
    int b=p-2,ans=1%p;
    while(b){
        if(b&1)ans=(LL)ans*a%p;
        a=(LL)a*a%p;
        b=b>>1;
    }
    return ans;
}

扩展欧几里得求解

\(a,b \in\mathbb{N}, a\bot b\) ,希望得到整数 \(x,y\),
使得 \(ax+by=\gcd(a,b)\)

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

标签:int,逆元,乘法,ans,equiv,mod
From: https://www.cnblogs.com/chelsyqwq/p/17625723.html

相关文章

  • 乘法逆元及其三种求法
    什么是逆元?如果\(ax\equiv1(\modp)\),且\(a\)与\(p\)互质\(\gcd(a,p)=1\),则\(x\)是\(a\)在模\(p\)意义上的逆元,也就是\(a\equivx^{-1}(\modp)\)。\(\mathcal{first}\).费马小定理求逆元我们知道费马小定理是:\(a^{p-1}\equiv1(\modp)\)。两边同时乘上\(a^{......
  • 定点补码乘法器小记
    目录硬件模拟软件无脑乘Booth乘法器华莱士树优化的华莱士树参考链接:《计算机体系结构基础第三版》定点补码乘法器一生一芯学习讲义一生一芯视频号硬件模拟软件软件方式即类似我们手工计算,如计算1101*0101+00001101(乘数最低位1,结果加上被乘数。将乘数右移,被乘数左移)+0......
  • 扩展欧几里得算法与乘法逆元
    Part1:前置知识欧几里得算法\[\foralla,b\in\mathbb{N},\gcd(a,b)=\gcd(b,a\bmodb)\]\(\mathrm{Bézout}\)定理对于任意整数\(a,b\),存在一对整数\(x,y\),满足\(ax+by=\gcd(a,b)\)证明:在欧几里得算法的最后一步,即\(b=0\)时,显然有一对整数\(x=1,y=0\),使得\(a......
  • 矩阵乘法
    前言目前感觉主要就是矩阵加速,一般·看到大一点的范围(加小一点的范围)可能会用到,是一个神奇的东西。运用在广义矩阵和状态转移上面。板子还是打得比较舒服的。广义矩阵乘法具有结合律的条件是分别满足交换律和结合律,内层对外层满足分配律。[NOIOnline#1入门组]魔法题目描......
  • 矩阵乘法 笔记
    众所周知,数是可以进行加减乘除的,那矩阵为啥不可以呢?假设现在我们有两个矩阵\(A\)和\(B\),矩阵大小分别为\(n\timesm\)和\(x\timesy\),矩阵元素对\(mod\)取模。基本运算矩阵加法令\(A+B=C\)。要求:\(n=x\)并且\(m=y\)。其实很简单,就是一一对应着加就行,即......
  • 逆元
    前言:依旧,和动态规划一样,逆元这个问题一直困扰了我很久,很烦人。逆元属于数学问题,要和费马以及欧几里得扯上关系,第一次学习的时候就不是特别懂,造成了很大的问题,遇到有些题目特别是求期望等数学问题最后通常要求mod998244353,其实,整数还好,没啥问题,一遇到小数的模运算,就需要用到逆......
  • 高维矩阵乘法学习总结
    参考:【深度学习中的数学】高维矩阵乘法规则【全面理解多维矩阵运算】多维(三维四维)矩阵向量运算-超强可视化baseKnowlegde:高维矩阵相当于二维矩阵的顺序堆叠相同维度数目举例:Ashape[a,b,c,d],Bshape[e,f,g,h]For高维(除第一维和第二维之外)长度相同:(eg.\(a......
  • 通过求逆元的几种方式复习基础数论
    逆元若\(ax=1\pmodp\),那么称\(a\)是\(x\)的逆元,显然\(x\)也是\(a\)的逆元。两边同时除以\(a\)得到\(x=\frac1a\pmodp\),可以写成\(x=a^{-1}\pmodp\),这么看来,乘法逆元就是取模意义下的倒数啊。若\(p\)为质数,\(0\)没有逆元,\(1\)的逆元是\(1\),\(p-1\)的逆元......
  • 逆元
     同余:简单来说就是在除法中取模要找到其逆元 逆元:如果一个线性同余方程ax≡1(modb),则x称为amodb的逆元简单来说就是modb是一种环境,而所求的x是a在modb环境中的倒数 以下是求逆元的法子扩展欧几里得法求逆元,时间复杂度o(logn)1voidexgcd(inta,intb,......
  • HJ70 矩阵乘法计算量估算
    1.题目读题HJ70 矩阵乘法计算量估算  考查点 2.解法思路 代码逻辑 具体实现 3.总结......