Cod sursa(job #1119188)

Utilizator visanrVisan Radu visanr Data 24 februarie 2014 16:00:42
Problema Invers modular Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <cstdio>
using namespace std;

int A, N,X, Y;

void Euclid(int A, int B, int &X, int &Y)
{
    if(!B)
    {
        X = 1, Y = 0;
        return ;
    }
    int Xp, Yp;
    Euclid(B, A % B, Xp, Yp);
    X = Yp;
    Y = Xp - (A / B) * Yp;
    return ;
}

int main()
{
    freopen("inversmodular.in", "r", stdin);
    freopen("inversmodular.out", "w", stdout);

    scanf("%i %i", &A, &N);
    Euclid(A, N, X, Y);
    while(X < 0) X += N;
    printf("%i\n", X);
}