Pagini recente » Cod sursa (job #369049) | Cod sursa (job #3237253) | Cod sursa (job #1149128) | Cod sursa (job #682000) | Cod sursa (job #1919212)
# include <bits/stdc++.h>
using namespace std;
int a, MOD;
int lgput(int x, int put)
{
if (put < 0) return lgput(1 / x, put) % MOD;
else if (put == 0) return 1 % MOD;
else if (put == 1) return x % MOD;
else if (!(put % 2)) return lgput( (x * x) % MOD, put / 2 ) % MOD;
else if (put % 2) return x * lgput( (x * x) % MOD, (put - 1) / 2) % MOD;
}
int main ()
{
freopen("inversmodular.in", "r", stdin);
freopen("inversmodular.out", "w", stdout);
scanf("%d %d\n", &a, &MOD);
printf("%d\n", lgput(a, MOD - 2) % MOD);
return 0;
}