Cod sursa(job #2351461)

Utilizator Mirela_MagdalenaCatrina Mirela Mirela_Magdalena Data 22 februarie 2019 13:31:15
Problema Invers modular Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include <cstdio>
#include <algorithm>

using namespace std;


pair <int, int> euclid(int x, int y){
    if(y == 0)
        return {1, 0};
    auto p = euclid(y, x%y);
    return {p.second, p.first-(x/y)*p.second};
}

int a, n, x, y;

int main()
{
    freopen("inversmodular.in", "r", stdin);
    freopen("inversmodular.out", "w", stdout);
    scanf("%d %d", &a, &n);
    auto Q = euclid(a, n);
    while(Q.first<0)
        Q.first += n;
    printf("%d", Q.first);
    return 0;
}