Cod sursa(job #3148482)

Utilizator andreea678Rusu Andreea-Cristina andreea678 Data 1 septembrie 2023 19:22:25
Problema Invers modular Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
pair<int,int> cmmdc(int a, int b) {
    if (b==0) {
        return make_pair(1,0);
    }
    pair<int,int> p = cmmdc(b, a%b);
    int c=a/b;
    return make_pair(p.second, p.first-c*p.second);
}
int cmmdcnor(int a, int b) {
    if (b==0) {
        return a;
    }
    return cmmdcnor(b,a%b);
}
int main()
{
    int A, N;
    fin >> A >> N;
    pair<int,int>rasp=cmmdc(A,N);
    while(rasp.first<0) {
        rasp.first += N;
    }
    fout << rasp.first;
    return 0;
}