Cod sursa(job #1257830)

Utilizator aparfeniAndrei Parfeni aparfeni Data 8 noiembrie 2014 11:40:11
Problema Invers modular Scor 60
Compilator cpp Status done
Runda cls6ichbsim1 Marime 0.4 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("%lld",lgput(a,n-2));
    return 0;
}