Cod sursa(job #1153853)

Utilizator cristitamasTamas Cristian cristitamas Data 25 martie 2014 19:41:30
Problema Invers modular Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <cstdio>
using namespace std;

int A,N,C,D;
int X,Y;

int Euclid_Extins(int A, int B, int &X, int &Y)
{
    if(B==0)
    {
        X=1;
        Y=0;
        return A;
    }
    int X0,Y0,D;
    D=Euclid_Extins(B,A%B,X0,Y0);
    X=Y0;
    Y=X0-Y0*(A/B);
    return D;
}


int main()
{
    freopen("inversmodular.in","r",stdin);
    freopen("inversmodular.out","w",stdout);
    scanf("%d %d",&A,&N);
    D=Euclid_Extins(N,A,X,Y);
    if(Y<0)
        Y+=N;
    printf("%d",Y/D);
    return 0;
}