Pagini recente » Istoria paginii runda/g1/clasament | Cod sursa (job #1857091) | Cod sursa (job #763986) | Monitorul de evaluare | Cod sursa (job #1176454)
#include <cstdio>
using namespace std;
int a,n,m;
FILE *in=fopen ("inversmodular.in","r");
FILE *out=fopen ("inversmodular.out","w");
long long power (int a, int n)
{
if (n==0) return 1;
if (n==1) return a%m;
if (n%2==0) return power ((a*a)%m,n/2)%m;
return (a*power ((a*a)%m,(n-1)/2))%m;
}
int main()
{
fscanf (in,"%d%d",&a,&n);
m=n;
fprintf(out,"%lld",power (a,n-2));
return 0;
}