Cod sursa(job #1333559)

Utilizator rsteliRadu Stelian rsteli Data 3 februarie 2015 12:35:20
Problema Invers modular Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <fstream>
using namespace std;
ifstream cin("inversmodular.in");
ofstream cout("inversmodular.out");

int m,n,x,y,d;

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

int main()
{
    int i,j;
    cin>>m>>n;
    euclid(m,n,&d,&x,&y);
    while (x<0)
        x+=n;
    cout<<x;
}