Cod sursa(job #1176494)

Utilizator iov.lucaIov Luca iov.luca Data 26 aprilie 2014 10:07:37
Problema Invers modular Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <cstdio>

using namespace std;
int n;
long long putere (long long x,int p)
{
    if (p==0) return 1;
    if (p==1) return x%n;
    if (p%2==0) return (putere ((x*x)%n , p/2))%n;
    else return (x%n)*(putere ((x*x)%n ,(p-1)/2))%n;
}
int main()
{
    FILE *f,*g;
   f=fopen("inversmodular.in","r");
    g=fopen("inversmodular.out","w");
    int x,p;
    fscanf(f,"%lld%d",&x,&n);
    p=n;
    fprintf(g,"%lld",(putere(x,p-2)));
    return 0;
}