Cod sursa(job #1257825)
Utilizator | Data | 8 noiembrie 2014 11:37:27 | |
---|---|---|---|
Problema | Invers modular | Scor | 60 |
Compilator | cpp | Status | done |
Runda | cls6ichbsim1 | Marime | 0.39 kb |
#include <cstdio>
using namespace std;
int n;
long long lgput(int a,int b)
{ if(b==1)
return a;
long long val=lgput(a,b/2);
if(b%2==1)
return val*val%n*a%n;
return val*val%n;
}
int main()
{ freopen("inversmodular.in","r",stdin);
freopen("inversmodular.out","w",stdout);
int a;
scanf("%d%d",&a,&n);
printf("%d",lgput(a,n-2));
return 0;
}