Cod sursa(job #2763498)

Utilizator SerbaP123Popescu Serban SerbaP123 Data 14 iulie 2021 15:36:51
Problema Invers modular Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>
#include <queue>
#include <string>
#include <cstring>
#include <vector>
#include <algorithm>
using namespace std;

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

int n, m;

void euclid(int a, int b, int &x, int &y){
    if(b == 0){
        x = y = 1;
    }
    else{
        int x1, y1;
        euclid(b, a % b, x1, y1);
        x = y1;
        y = x1 - a / b * y1;
    }
}

int InversModular(int a, int b){
    int x, y;
    euclid(a, b, x, y);
    while(x < 0){
        x += b;
    }
    return x;
}

int main(){
    cin >> n >> m;
    cout << InversModular(n, m);
    return 0;
}