AcWing 876. 快速幂求逆元
Posted MangataTS
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AcWing 876. 快速幂求逆元相关的知识,希望对你有一定的参考价值。
题目链接
https://www.acwing.com/problem/content/878/
思路
通过费马小定理可以计算当a和p互质的情况,由于题目说明了p一定是质数,那么我们只用关系a是否是p的倍数即可,如果是p的倍数,那么我们就不能求得逆元,否则我们可以通过快速幂求得逆元
代码
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll 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. 快速幂求逆元的主要内容,如果未能解决你的问题,请参考以下文章