Files
python/GESP/Level5/GESP202503/T2.cpp

37 lines
601 B
C++
Raw Normal View History

2025-08-30 18:35:01 +08:00
#include <bits/stdc++.h>
using namespace std;
#define int long long
int a, p;
// 快速幂
int qmi(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;
}
void solve() {
int a, p;
cin >> a >> p;
int phi = p - 1;
2025-09-21 14:27:06 +08:00
for (int k = 2; k * k <= phi; k++) {
if (phi % k == 0) {
if (qmi(a, k, p) == 1 || qmi(a, phi / k, p) == 1) {
2025-08-30 18:35:01 +08:00
puts("No");
return;
}
}
}
puts("Yes");
}
signed main() {
int T;
cin >> T;
while (T--)
solve();
}