题目链接

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

思路

通过费马小定理可以计算当a和p互质的情况,由于题目说明了p一定是质数,那么我们只用关系a是否是p的倍数即可,如果是p的倍数,那么我们就不能求得逆元,否则我们可以通过快速幂求得逆元

代码

#include<bits/stdc++.h>
using namespace std;#define ll long longll ksm(ll a,ll b,ll p){ll res = 1LL;for(;b;b>>=1,a = a*a % p) if(b&1) res = res * a % p;return res;
}int main()
{int n;scanf("%d",&n);for(int i = 1;i <= n; ++i) {ll a,p;scanf("%lld%lld",&a, &p);if(a % p) printf("%lld\n",ksm(a,p-2,p));//如果a是p的倍数的话那么就不满足费马小定理了else printf("impossible\n");}return 0;
}

AcWing 876. 快速幂求逆元相关推荐

  1. 876. 快速幂求逆元

    Powered by:NEFU AB-IN Link 文章目录 876. 快速幂求逆元 题意 思路 代码 876. 快速幂求逆元 题意 给定 n 组 ai,pi,其中 pi 是质数,求 ai 模 pi ...

  2. 算法刷题-数论-组合数、快速幂、逆元、递推求组合数、逆元求组合数

    文章目录 acwing885. 求组合数 I(递推:数据范围:2000) acwing875. 快速幂(a的k次方 模 b) acwing876. 快速幂求逆元 acwing886. 求组合数 II( ...

  3. 第二十七章 数论——快速幂与逆元

    第二十七章 快速幂与扩展欧几里德算法 一.快速幂 1.使用场景 2.算法思路 (1)二进制优化思想 (2)模运算法则 3.代码实现 (1)问题 (2)代码 二.快速幂求逆元 1.什么是逆元? (1)同 ...

  4. 矩阵快速幂求大斐波那契poj3070(java)

    题目链接 核心思想为: 从右往左.可以一直递推,然后到最后一项,然后快速幂求矩阵,矩阵最终的结果就是所求结果. 更新:java的矩阵通用乘法可以表示为,可以将下列代码替换道ac代码中: import ...

  5. 矩阵快速幂求斐波那契数列(初学整理)

    参考文章: http://blog.csdn.net/u013795055/article/details/38599321 http://blog.csdn.net/g_congratulation ...

  6. 大数问题(循环求余/快速幂求余/快速幂问题)

    大数问题 1.大数求余问题 解题思路 1.1循环求余O(n)O(n)O(n) 1.2.快速幂求余O(log⁡n)O(\log n)O(logn) 2.快速幂问题 解题思路 1.大数求余问题 在仅使用i ...

  7. 欧拉定理、快速幂与逆元

    Color the necklace 时间限制:2000 ms  |  内存限制:65535 KB 难度:0 描述 As we all know, girls love necklaces, espe ...

  8. 利用矩阵快速幂求斐波那契数列

    我们知道如果用记忆化搜索逐项递推可以将复杂度降低到O(n),但是对于更大规模的输入,这个算法效率还是不够高,那么我们考虑更高效的算法: 二阶递推:f(n+2)=(1 1) f(n+1) f(n+1) ...

  9. ZYH的斐波那契数列【线段树动态开点+矩阵快速幂求斐波那契】

    描述 ZYH最近研究数列研究得入迷啦! 现在有一个斐波拉契数列(f[1]=f[2]=1,对于n>2有f[n]=f[n-1]+f[n-2]), 但是斐波拉契数列太简单啦,于是ZYH把它改成了斐波拉 ...

最新文章

  1. 5 门可能衰落的编程语言
  2. 第一次写小程序,遇到的坑
  3. shell逐行读取每一列
  4. 数据结构与算法 -- 时间复杂度
  5. 工具-eclipse-hibernate关于快速生成*.hbm.xml文件,与bean文件的操作,不使用hibernate tool解决办法之一,主要为了快速开发,写的小工具
  6. JSON学习笔记(三)- 数组
  7. JAXB vs XStream
  8. java2组随机数的共通数_java随机数产生-指数分布 正态分布 等
  9. 左右法则 来解析指针问题
  10. php 微信登录 扫码 h5,【小程序】WeAuth微信小程序实现PC网站扫码授权登录
  11. 微信小程序腾讯云实时语音转写
  12. 基于51单片机数码管显示
  13. .ldb文件到底派什么用场得?
  14. border边框部分不显示
  15. vlog常用参数解析
  16. 如何提高文字和配图的整体性?总监送你7个实用方法
  17. 原生JavaScript实现连连看游戏
  18. 亚马逊风控从哪些方面检测的?
  19. 巴斯扩散模型-Bass Diffusion Model
  20. 对等网络限制计算机数量吗,把网络连接起来——对等网的组建

热门文章

  1. python 求点集的距离矩阵
  2. HtmlAgilityPack.dll的使用 获取HTMLid
  3. [转载]onclientclick和onclick区别
  4. jQuery1.11源码分析(8)-----jQuery调用Sizzle引擎的相关API
  5. HTML5新特性之跨文档消息传输
  6. HDU 1240 Asteroids!(DFS简单搜索)
  7. C#利用NPOI导出Excel
  8. iphone4 Safari实现滚动条功能
  9. .NET+Oracle 9i时产生的未在本地计算机上注册“OraOLEDB.Oracle.1”提供程序
  10. java - rest-assured 接口测试