Cod sursa(job #2674641)

Utilizator George_CristianGeorge Dan-Cristian George_Cristian Data 19 noiembrie 2020 19:06:27
Problema Invers modular Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.48 kb
#include <cstdio>
#include <iostream>

using namespace std;

pair<long long, long long> euclid_extins(int a, int b) {
    if (!b)
        return {1, 0};
    pair<long long, long long> rez = euclid_extins(b, a % b);
    return {rez.second, rez.first - (a / b) * rez.second};
}

int main() {
    freopen("inversmodular.in", "r", stdin);
    freopen("inversmodular.out", "w", stdout);
    int a, n;
    scanf("%d %d", &a, &n);
    printf("%lld", euclid_extins(a, n).first % n);
    return 0;
}