Cod sursa(job #2376743)

Utilizator SqueekDanielTodasca Daniel SqueekDaniel Data 8 martie 2019 17:22:12
Problema Invers modular Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <bits/stdc++.h>

#define llg long long

llg A, N;

void Euclid(llg A, llg B, llg &X, llg &Y) {
    if (B == 0) {
        Y = 0;
        X = 1;
        return;
    }   Euclid(B, A%B, X, Y);
    llg Aux = Y;
    Y = X - (A/B)*Y;
    X = Aux;
}

llg InvMod(llg A, llg MOD) {
    llg Temp, Inv;
    Euclid(A, MOD, Inv, Temp);
    return (Inv + MOD) % MOD;
}

std::ifstream In ("inversmodular.in");
std::ofstream Out("inversmodular.out");

void Citire() {
    In >> A >> N;
}

void Rezolvare() {
    Out << InvMod(A, N);
}

int main()
{
    Citire();
    Rezolvare();

    return 0;
}