Cod sursa(job #1199217)
Utilizator | Data | 18 iunie 2014 16:26:23 | |
---|---|---|---|
Problema | Invers modular | Scor | 60 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include<fstream>
using namespace std;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
int a,n;
inline int Log(int x)
{
if (x==1) return a;
else if (x&1) return (1LL*a*Log(x-1))%n;
else
{
int aux;
aux=Log(x>>1);
return (1LL*aux*aux)%n;
}
}
int main()
{
int ca;
fin>>a>>n;
ca=Log(n-2);
fout<<ca<<"\n";
return 0;
}