Cod sursa(job #1176454)

Utilizator pincucatalinPincu Catalin pincucatalin Data 26 aprilie 2014 09:53:11
Problema Invers modular Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#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;
}