Cod sursa(job #1176470)

Utilizator turbowin120Amarandei-Stanescu Alexandru turbowin120 Data 26 aprilie 2014 10:04:38
Problema Invers modular Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <iostream>
#include <stdio.h>
using namespace std;

long long putere(long long x, int p,int m)
{
    if(p==0) return 1;
    if(p==1) return x%m;
    if(p%2==0) return putere((x*x)%m, p/2,m)%m;
    else return (x%m)*putere((x*x)%m,(p-1)/2,m)%m;
}


int main()
{
    FILE *in, *out;
    in=fopen("inversmodular.in","r");
    out=fopen("inversmodular.out","w");
    int a ,n;
    fscanf(in,"%d%d",&a,&n);

    long long x=putere(a,n-2,n);

    fprintf(out,"%d",x);
    return 0;
}