Pagini recente » Cod sursa (job #3121267) | Cod sursa (job #1266662) | Cod sursa (job #246993) | Cod sursa (job #325257) | Cod sursa (job #1914690)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
long long int n, p;
long long int logPow( long long int bz , long long int put ) {
long long int aux = 1;
while ( put > 1 ) {
if ( put % 2 == 0 ) {
bz *= bz;
bz %= p;
put /= 2;
} else {
aux *= bz;
aux %= p;
put--;
}
}
return ( aux * bz ) % p;
}
int main()
{
fin >> n >> p;
fout << logPow( n , p - 2 );
return 0;
}