Cod sursa(job #2704490)

Utilizator raduk11Serban Mihai-Radu raduk11 Data 10 februarie 2021 17:54:56
Problema Invers modular Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>

using namespace std;

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

void euclid_extins(int a, int b, int &d, int &x, int &y)
{
    if(b == 0)
    {
        x = 1;
        y = 0;
        d = a;
    }
    else
    {
        int x0, y0;
        euclid_extins(b, a % b, d, x0, y0);
        x = y0;
        y = x0 - (a / b) * y0;
    }
}

int invers_modular(int a,int b)
{
    int d,x,y;
    euclid_extins(a,b,d,x,y);
    x%=b;
    if(x<0)x+=b;
    return x;
}
int main()
{
    int a,n;
    in>>a>>n;
    out<<invers_modular(a,n);
    return 0;
}