作者:等燕还故榻
链接:https://www.nowcoder.com/discuss/777079?type=all&order=time&pos=&page=2&ncTraceId=&channel=-1&source_id=search_all_nctrack
来源:牛客网
#include <iostream>
using namespace std;
const int N = 100005;
int T, a, m, y, f[N];
int main() {
cin >> T;
while(T--) {
cin >> a >> m >> y;
int x = 0;
long long s = 1 % m;
for(int i = 0; i < m; i++) f[i] = 0;
while(1) {
if(f[s] == 1) { cout << -1; break; }
else f[s] = 1;
if(y == s) { cout << x; break; }
x++;
s = (s * a) % m;
}
}
return 0;
}