首先解释一下什么是逆元

若整数 b,m 互质,并且对于任意的整数 a,如果满足 b|a,则存在一个整数 x,使得 a/b≡a×x(modm),则称 x 为 b 的模 m 乘法逆元,记为 b−1(modm)。
b 存在乘法逆元的充要条件是 b 与模数 m 互质。当模数 m 为质数时,bm−2b^{m-2}bm−2即为 b 的乘法逆元。

然后我们就会发现,,好家伙,这定义真难懂,然后我们用人话通俗的解释一下


紧接着我们来进行一些推导

这就是一般的利用快速幂和费马小定理来求逆元

接下来我们来一个题目
快速幂求逆元

当a 是p的倍数的时候,a和p并不互质,并且a * x % p也是等于0,永远不会等于1所以这种情况下没有逆元

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
#define endl '\n'
#define int  long long
int quick(int a, int b, int p)
{int res = 1;while(b){if(b & 1) res = (res * a) % p;b >>= 1;a = (a * a) % p;}return res;
}signed main()
{int n;cin >> n;int a, b;while (n -- ){scanf("%lld%lld", &a, &b);if(a % b == 0) puts("impossible");else cout << quick(a, b-2, b) << endl;}return 0;
}

费马小定理(求逆元)相关推荐

  1. 数学--数论--费马小定理+求逆元

    1.费马小定理: (此处的p为素数) 证明: 费马小定理求逆元 如果p为小素数我们选择直接暴力,时间复杂度为: int Fermat_inverse(int a,int mod) {int res = ...

  2. 洛谷 [P1593 因子和] {快速幂+费马小定理求逆元+求解质因子} 奋斗的珂珂~

    题目描述 输入两个整数 a 和 b,求 aba^bab 的因子和. 由于结果太大,只要输出它对 9901 取模的结果. 输入格式 仅一行,为两个整数 a和 b. 输出格式 输出一行一个整数表示答案对 ...

  3. Detachment HDU - 5976(数学+费马小定理求逆元+前缀和前缀积)

    题意:给定一个数,让你分成互不相等的n个数(n为自然数),使这些数的乘积最大,输出最大乘积. 题解:本文参考传送门 首先:那就是不能分出1来,因为1乘任何数都是它本身,而因为分出了1,另一部分也变小了 ...

  4. 第十四届华中科技大学程序设计竞赛 B Beautiful Trees Cutting【组合数学/费马小定理求逆元/快速幂】...

    链接:https://www.nowcoder.com/acm/contest/106/B 来源:牛客网题目描述 It's universally acknowledged that there're ...

  5. 数论--费马小定理求逆元

    ACM常用模板合集 int Fermat_inverse(int a,int mod) {int res = 1;for(int i = 1;i < mod - 1;++i) res *= a; ...

  6. hihocoder #1698 假期计划 (排列组合+费马小定理+乘法逆元)

    Description 小Ho未来有一个为期N天的假期,他计划在假期中看A部电影,刷B道编程题.为了劳逸结合,他决定先拿出若干天看电影,再拿出若干天刷题,最后再留若干天看电影.(若干代指大于0)  每 ...

  7. c语言生成两位随机素数算法,[算法]费马小定理求质数的算法之Miller-Rabin算法,C语言实现 | 李大仁博客...

    今天讲点比较高级的算法,目的也很简单,求质数,但是应用一种新的算法Miller-Rabin算法,这是一种利用了概率和费马小定理的算法设计,有点玄乎吧,其实本人也是刚接触这种算法,这是一种纯数学的解法, ...

  8. 快速幂-Jxc军训 (费马小定理+求概率)(2021-08-17)

    Jxc军训 题目 在文某路学车中学高一新生军训中,Jxc正站在太阳下站着军姿,对于这样的酷热的阳光,Jxc 表示非常不爽. Jxc将天空看做一个nn的矩阵,此时天上有m朵云,这些云会随机分布在m个不同 ...

  9. 同余定理 逆元 中国剩余定理 费马小定理

    同余定理 同余定理是数论中的重要概念.给定一个正整数m,如果两个整数a和b满足(a-b)能够被m整除,即(a-b)/m得到一个整数,那么就称整数a与b对模m同余,记作a≡b(mod m). 两个整数a ...

  10. 取模除法(逆元)(费马小定理)(线性求逆元)

    文章目录 引言 逆元 费马小定理 内容 应用 证明 线性求逆元 thanks for reading! 引言 我们做题时经常会由于答案过大,被要求使答案对一个质数取模 我们都知道,加和乘对取模是没有影 ...

最新文章

  1. git 如何回滚远程仓库版本
  2. scanf———while(scanf (%lu,num) = =1)什么意思
  3. 【Linux】一步一步学Linux——sh命令(225)
  4. python 定时器_python 线程之四:定时器(Timer),非阻塞
  5. 圆平移后的方程变化_平移法解题
  6. 基于JAVA+SpringMVC+Mybatis+MYSQL的学生健康信息管理系统
  7. 217 - leetcode -存在重复元素 -数据结构类 先排序再操作
  8. Java实现一个会员制度的CD出租销售店,基本的功能有:一是对会员的管理,包括增加会员、删除会员;二是对货品的管理,包括出租、销售CD、进货、统计账目等。
  9. 没有工厂模式(工厂模式2)
  10. python爬虫案例
  11. java毕业设计_景区旅游信息管理系统
  12. 操作系统-信号量机制的一些习题
  13. java获取登录内网ip地址
  14. 从菜鸟到高手!Photoshop抠图全方位攻略
  15. 计算机的音量找不到了,电脑音量调节小喇叭不见了修复方法
  16. windows电脑截截屏截图的方法
  17. mysql http_put_洪永佳 - SegmentFault 思否
  18. 生活家健康指南:创可贴使用四大误区
  19. Bitbucket安装配置
  20. java培训班值得去吗?

热门文章

  1. java 队列占用内存大小_Java线程池队列吃的太饱,撑着了咋整?java 队列过大导致内存溢出...
  2. C#基础 MethodInfo GetMethod 反射 调用有参公共方法
  3. lcd显示屏c语言程序设计,基于单片机的LCD显示器控制的设计.doc
  4. Vue3:显示 markdown 文档
  5. 2013国内IT行业薪资对照表【技术岗】(转载)
  6. linux mint 版本区别,Linux Mint 20选Cinnamon、MATE还是Xfce版本?以下为你解析
  7. 简述算法分析的概念,实际分析中考虑的侧重点是什么?
  8. Android绘制函数图象及正弦函数的介绍
  9. julia:使用控制流程(learning julia)(完结)
  10. FPGA之SDRAM控制器设计(三)