Cod sursa(job #2553549)

Utilizator mihhTURCU MIHNEA ALEXANDRU mihh Data 22 februarie 2020 09:36:18
Problema Invers modular Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin("euclid3.in");
ofstream fout("euclid3.out");


void Euclid(int a, int b, int &d, int &x, int &y){

    if(b==0){
        d=a, x=1, y=0;
        return;
    }

    int x0, y0;
    Euclid(b,a%b,d, x0,y0);
    x=y0;
    y=x0-(a/b)*y0;
}

int InverMod(int A, int B){
    int d,x,y;
    Euclid(A,B,d,x,y);
    if(x<0) x+=B;
    return x;
}

int main(){

    int N, A;
    fin>>N>>A;
    fout<<InverMod(A,N);
}