Cod sursa(job #2404010)

Utilizator gabib97Gabriel Boroghina gabib97 Data 12 aprilie 2019 10:50:44
Problema Invers modular Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include <bits/stdc++.h>

using namespace std;

void invMod(long long a, long long b, long long &x, long long &y) {
    if (!b)
        x = 1, y = 0;
    else {
        long long x0, y0;

        invMod(b, a % b, x0, y0);

        x = y0;
        y = x0 - (a / b) * y0;
    }
}

int main() {
    ifstream cin("inversmodular.in");
    ofstream cout("inversmodular.out");

    long long a, n, inv, y;
    cin >> a >> n;

    invMod(a, n, inv, y);
    if (inv < 0) inv = n + inv % n;

    cout << inv;
    return 0;
}