Cod sursa(job #1164376)

Utilizator SRaduRadu Szasz SRadu Data 2 aprilie 2014 00:31:01
Problema Invers modular Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <fstream>

using namespace std;

int A, N;

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

int main() {
    ifstream in("inversmodular.in");
    in >> A >> N;
    in.close();

    int X, Y;
    Euclid(A, N, X, Y);
    X %= N;
    if(X < 0)
        X += N;
    ofstream out("inversmodular.out");
    out << X << "\n";
    out.close();
}