Cod sursa(job #3251225)

Utilizator Vlad3108Tir Vlad Ioan Vlad3108 Data 25 octombrie 2024 14:30:21
Problema Invers modular Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <bits/stdc++.h>
using namespace std;

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

    pair<int, int> r2 = extended_gcd(b, a % b);
    return {r2.second, (r2.first - a / b * r2.second)};
}

int inv(int x, int MOD) {
    int x1 = extended_gcd(x, MOD).first;

    if (x1 < 0)
        x1 += MOD;

    return x1;
}

int main() {
    freopen("inversmodular.in",  "r", stdin);
    freopen("inversmodular.out", "w", stdout);
    int N, M;
    cin >> N >> M;
    cout << inv(N, M);
}