逆元的无解情况:a是b的倍数(a%b==0)
例题代码
#include <iostream>
#include <algorithm>
using namespace std;
typedef long long LL;
LL quick_pow(LL a, LL b, LL p){
LL res = 1;
while(b){
if(b&1) res = res * a % p;
a = a * a % p;
b >>= 1;
}
return res;
}
int main(){
int t;
cin >> t;
while(t--){
LL a, p;
cin >> a >> p;
if( a%p==0 ) cout << "impossible" << endl;
else{
cout << quick_pow(a, p-2, p) << endl; //根据 乘法逆元 和 费马小定理 --》 a^(p-2) % p
}
}
return 0;
}
题目
题目 | 难度 |
---|---|
AcWing.快速幂求逆元 | 模板题 |