'commit'
This commit is contained in:
28
TangDou/AcWing/Qmi/876.cpp
Normal file
28
TangDou/AcWing/Qmi/876.cpp
Normal file
@@ -0,0 +1,28 @@
|
||||
#include <bits/stdc++.h>
|
||||
|
||||
using namespace std;
|
||||
#define int long long
|
||||
|
||||
// 快速幂 (a^k)%p
|
||||
int qmi(int a, int k, int p) {
|
||||
int res = 1;
|
||||
while (k) {
|
||||
if (k & 1) res = res * a % p;
|
||||
a = a * a % p;
|
||||
k >>= 1;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
signed main() {
|
||||
int n;
|
||||
cin >> n;
|
||||
while (n--) {
|
||||
int a, p;
|
||||
cin >> a >> p;
|
||||
if (a % p == 0)
|
||||
puts("impossible"); // 不互质
|
||||
else
|
||||
printf("%lld\n", qmi(a, p - 2, p));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user