Cod sursa(job #2787663)

Utilizator preda.andreiPreda Andrei preda.andrei Data 23 octombrie 2021 20:17:29
Problema Invers modular Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.49 kb
#include <cstdint>
#include <fstream>

using namespace std;

pair<int64_t, int64_t> Euclid(int64_t a, int64_t b) {
    if (b == 0) {
        return {1, 0};
    }

    auto p = Euclid(b, a % b);
    return {p.second, p.first - (a / b) * p.second};
}

int64_t ModInv(int64_t a, int64_t b) {
    return Euclid(a, b).first;
}

int main() {
    ifstream fin("inversmodular.in");
    ofstream fout("inversmodular.out");

    int64_t a, b;
    fin >> a >> b;

    fout << ModInv(a, b) << "\n";
    return 0;
}