Cod sursa(job #2436852)
Utilizator | Data | 7 iulie 2019 14:02:46 | |
---|---|---|---|
Problema | Invers modular | Scor | 60 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include <fstream>
using namespace std;
ifstream cin("inversmodular.in");
ofstream cout("inversmodular.out");
unsigned long long m,a;
unsigned long long pau(unsigned long long n,unsigned long long p)
{
long long h=1;
n=n%m;
while(p)
{
if(p%2==1) h=(h*n)%m;
n=(n*n)%m;
p=p/2;
}
return h;
}
int main()
{
cin>>a>>m;
int p=m-2;
cout<<pau(a,p);
return 0;
}