Pagini recente » Cod sursa (job #1956445) | Cod sursa (job #604472) | Cod sursa (job #2277792) | Cod sursa (job #1619880) | Cod sursa (job #3213426)
#include <bits/stdc++.h>
#define ll long long
//#define fin cin
//#define fout cout
using namespace std;
ifstream fin ("inversmodular.in");
ofstream fout ("inversmodular.out");
//https://ro.wikipedia.org/wiki/Mica_teorem%C4%83_a_lui_Fermat
/*
a^(p-1)=1 mod p (a^(p-1)%p=1)
a*b=1 mod p = a^(p-1) | / a
b=a^(p-2)
*/
ll a, n;
ll exponentiere (ll a, ll b)
{
ll rez=1;
while (b!=0) {
if (b%2==1) {
rez*=a;
rez%=n;
}
a*=a;
a%=n;
b/=2;
}
return rez;
}
int main()
{
fin.tie(0); fin.sync_with_stdio(false);
fin>>a>>n;
fout<<exponentiere(a, n-2);
return 0;
}