Pagini recente » Cod sursa (job #3224918) | Diferente pentru treapuri intre reviziile 117 si 116 | Monitorul de evaluare | Borderou de evaluare (job #1481221) | Cod sursa (job #3132897)
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ifstream in("inversmodular.in");
ofstream out("inversmodular.out");
ll exp_log(ll x, ll n)
{
if(n == 0) return 1;
if(n%2 == 0) return exp_log(x*x, n/2);
return x*exp_log(x*x, n/2);
}
int main()
{
ll a, n;
in >> a >> n;
out << exp_log(a, n-2)%n;
return 0;
}