Pagini recente » Cod sursa (job #1950011) | Cod sursa (job #2793237) | Cod sursa (job #2076723) | Cod sursa (job #2949349) | Cod sursa (job #2173077)
// Pentru N - prim
#include <fstream>
using namespace std;
ifstream f("inversmodular.in");
ofstream g("inversmodular.out");
int a,n;
long long lgput(long long n, long long k, long long MOD) {
long long m=1;
while(k>1) {
if (k%2==0) {
k=k/2;
n=( (n%MOD) * (n%MOD))%MOD;
}
else {
--k;
m=( (m%MOD) * (n%MOD))%MOD;
}
}
return ( (m%MOD) * (n%MOD))%MOD;
}
long long inversmodular(long long a,long long n) {
return lgput(a,n-2,n);
}
int main() {
f>>a>>n;
g<<inversmodular(a,n)<<'\n';
f.close(); g.close();
return 0;
}