Cod sursa(job #2475240)

Utilizator sandifx68Fazakas Alexandru sandifx68 Data 16 octombrie 2019 16:30:21
Problema Invers modular Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.53 kb
#include <iostream>

using namespace std;

void euclid(int a, int b, int c, int &x, int &y)
{

    int q[50],r,x0,y0,pas=0;
    while(b)
    {
        q[++pas]=a/b;
        r=a%b;
        a=b;
        b=r;
    }
    if(c%a)
    {
        x=y=0;
        return;
    }
    x=x0=c/a;
    y=y0=0;
    while(pas)
    {
        x=y0;
        y=x0-q[pas--]*y0;
        x0=x;
        y0=y;
    }
}

int main()
{
    int a,x,y,b;
    cin>>a>>b;
    euclid(a,b,1,x,y);
    x=(b+x%b)%b;
    cout<<x;
    return 0;
}