AcWing 876. 快速幂求逆元
原题链接
简单
作者:
我要出去乱说
,
2021-01-20 18:37:10
,
所有人可见
,
阅读 281
#include <cstdio>
using namespace std;
typedef long long LL;
// a ^ k % p 快速幂模板
int qmi(int a, int k, int p)
{
int res = 1;
while (k)
{
if (k & 1) res = (LL)res * a % p;
k >>= 1;
a = (LL)a * a % p;
}
return res;
}
int main()
{
int n;
scanf("%d", &n);
while (n -- )
{
int a, k, p; //只有当n为质数时,才可以用快速幂求逆元
scanf("%d%d", &a, &p);
int res = qmi(a, p - 2, p);
if (a % p) printf("%d\n", res); //判断p不为a的质因数
else puts("impossible");
}
return 0;
}