最近,发现数论真的很重要,基本上一套题必出一个数论的题。故接下来,要好好的看一看数论了。

乘法逆元我觉得其本质:就是数论里的倒数。

由上图你会发现:其取模的运算不满足除法的分配律,那么如何求除法的模运算呢?

在我们普通的数学中:
要求 a / b 可以转化为 a x b-1 其中 b x b-1 = 1 ,其中 b-1 称为b的倒数。

那么同理,在数论我们可不可以用上面的那种方法来求b的类似于倒数的数,来将其转换为乘法呢?

答案: 是肯定的,不过在数论里称为乘法的逆元。

有的小伙伴可能初学,不太懂上面的专业术语,故这里解释一下。
上面定义的解释: 上面的那个三条线的符号是同余, 意思就是说 a乘于x取模 和 1 取模是同余的都是1,即余数是相同的。
例子:
2 x 3 ≡ 1 (mod 5 ) 即 2 x 3 对 5 取模和 1 对 5 取模是同余的 都是1 。 其中 3就是 2的乘法逆元。
实战:

你会发现: 我们运用乘法逆元,将其除法变成了一个乘法。这是十分的方便的,尤其是涉及到高精度或者其它的一些情况。

那么,问题来了。如何求一个数的乘法逆元呢?

求乘法逆元的方法有很多,这里先介绍通过运用费马小定理来求逆元。

ap-1 ≡ 1 (mod p ) 等价于 a x ap-2 ≡ 1 (mod p ) 故a的乘法逆元就是 ap-2
注意:乘法逆元不一定是存在的。
a 存在乘法逆元的充要条件是 a 与模数 p 互质。当模数 p 为质数时,ap−2 即为 a 的乘法逆元。

练习题:876. 快速幂求逆元

https://www.acwing.com/problem/content/878/

#include<cstdio>
#include<iostream>
using namespace std;
typedef long long int LL;
LL quick_pow(LL a,LL b, LL p)
{LL res=1;while(b){if(b&1)  res=res*a%p;a=a*a%p;b>>=1;}return res;
}
LL gcd(LL a, LL b)
{if(b==0) return a;else return gcd(b,a%b);
}
int main(void)
{LL t,a,p; cin>>t;while(t--){cin>>a>>p;if(gcd(a,p)==1) cout<<quick_pow(a,p-2,p)<<endl;else cout<<"impossible"<<endl;}
}

乘法逆元通俗易懂的理解方法相关推荐

  1. 求乘法逆元的几种方法

    (数学渣,下面的文字可能有误,欢迎指教) 乘法逆元的定义貌似是基于群给出的,比较简单地理解,可以说是倒数的概念的推广.记a的关于模p的逆元为a^-1,则a^-1满足aa^-1≡ 1(mod p) 加减 ...

  2. java求乘法逆元的代码_求乘法逆元的几种方法

    (数学渣,下面的文字可能有误,欢迎指教) 乘法逆元的定义貌似是基于群给出的,比较简单地理解,可以说是倒数的概念的推广.记a的关于模p的逆元为a^-1,则a^-1满足aa^-1≡ 1(mod p) 加减 ...

  3. 计蒜客 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B coin(求乘法逆元)

    Bob has a not even coin, every time he tosses the coin, the probability that the coin's front face u ...

  4. 乘法逆元的三种求解方法

    目录 乘法逆元小结 逆元的定义 求解逆元的方法 1. 快速幂 测试代码 2.拓展欧几里得 测试代码 3.线性算法 例题 AC代码 乘法逆元小结 参考自:点击此处 乘法逆元,一般用于求(a / b)(m ...

  5. 乘法逆元3种方法总结[最全]

    建议大家可以先去看看这篇博文 (https://www.cnblogs.com/dupengcheng/p/5487362.html) 乘法逆元:ax≡1 (mod p) 这个等式用中文描述就是 a乘 ...

  6. 表格法轻松理解扩展欧几里得算法以及利用其求乘法逆元

    文章目录 扩展欧几里得算法 求乘法逆元 扩展欧几里得算法 具体算法的原理参见扩展欧几里得算法求乘法逆元,本文仅以表格的形式展现计算过程,浅显易懂.下面通过例子进行说明. 例:求1234和4321的最大 ...

  7. zoj-3624(Count Path Pair)组合数+乘法逆元

    题意:给你4个点A(0,0),B(p,0),C(m,q),D(m,n)问:A-->D&& B-->C在不相交的情况下有多少种方法 此题在比赛中题目理解错了,英语水平还是太弱 ...

  8. 扩展欧几里得算法、乘法逆元与中国剩余定理

    文章目录 前言 定义.定理和部分证明 整除 定义 定理 定理的证明 同余 定义 同余的性质 同余的运算律 运算律的证明 扩展欧几里得算法 代码模板 算法详解 乘法逆元 求解逆元 乘法逆元的作用 中国剩 ...

  9. Python在GF(2⁸)有限域上求解多项式的乘法逆元——基于扩展欧几里得算法

    文章目录 一.前言 二.数学基础 1.GF(2⁸)有限域内的多项式 2.不可约多项式 3.多项式模运算 3.乘法逆元 三.算法步骤 1.扩展欧几里得算法 2.多项式除法 3.多项式乘法 四.代码实现 ...

最新文章

  1. 详解java中Thread类,线程和进程的基本区别,多线程的好处,线程的五个生命周期,主线程和IDEA创建的Monitor Ctrl-Break守护线程;优雅地终止线程。死锁的产生
  2. linux时间格式怎么写,linux基础--时间格式
  3. ArcGIS怎样获取重分类后各类所占的像元个数
  4. 1、vue 笔记之 组件
  5. Linux内核分析:recv、recvfrom、recvmsg函数实现
  6. arcmap 影像坐标批处理 python_ArcMap怎么把坐标系转换成投影坐标系?
  7. HiJson(Json格式化工具)
  8. 使用idea打包war包部署
  9. 杭州十二条经典登山路线
  10. 汇总:各类手游渠道特点及选择方法
  11. win7网上邻居无计算机一栏,Win7在网上邻居上看不到别的电脑怎么办?-电脑自学网...
  12. 招银网络2018笔试分享
  13. 手机、手环NFC刷门禁卡
  14. NeuroImage:对情绪表现的快速接近—回避反应反映了基于价值的决策:来自脑电图研究的神经证据
  15. Qt 测量函数运行耗时
  16. html控制checkbox选中状态,怎么设置checkbox 选中状态
  17. 20美金 php,树莓派|个头小本事大:13 种 20 美元以下的树莓派 Zero 替代品
  18. 国仁网络资讯:微信视频号运营中常遇见的10大问题;新手必知的疑难杂症。【建议收藏】
  19. Misc-登机牌[i春秋][150pt]
  20. ImageMagick将多张图片拼接成一张图片_长图拼接app下载-长图拼接最新版下载v2.8.6...

热门文章

  1. MongoDB学习笔记【2】-- 试用
  2. [poj 2001] Shortest Prefixes (字典树)
  3. requirements.txt
  4. python-装饰器实现pv-uv
  5. 第九章 字符串,字符和字节
  6. ili9341代码移植注意事项
  7. 十七、二叉树的建立与基本操作
  8. oracle dba_seg,Oracle DBA 应知应会 -- PGA自动管理
  9. pLSA概率潜在语义分析
  10. C++ Primer 5th笔记(chap 10)泛型算法 :算法形参