#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll fast_pow(ll a,ll b,ll p) { //计算(a^b)%p
ll ans = 1;
while(b) {
if(b&1) ans = (ans * a) % p;
b /= 2;
a = a % p * a % p;
}
return ans;
}
int main() {
ll a,p;
cin >> a >> p;
ll s = fast_pow(a,p-2,p); // a^(p-2)%p就是a%p的逆元
cout << s;
return 0;
}
快速幂求逆元
于 2024-04-08 23:35:52 首次发布