Cod sursa(job #228331)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 6 decembrie 2008 23:06:56
Problema Invers modular Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.58 kb
#include <stdio.h>
#define ll long long
int N,M;

void euclid(ll &x,ll &y ,int a, int b)
{
    ll aux;
    if (b==0)
        {
            x=1;
            y=0;
        }
        else
        {
            euclid(x,y,b,a%b);
            aux=x;
            x=y;
            y=aux-y*(a/b);
        }
}

int main()
{
    ll nr=0,nrr;
    freopen("inversmodular.in","r",stdin);
    freopen("inversmodular.out","w",stdout);
    scanf("%d %d", &N,&M);
    euclid(nr,nrr,N,M);
    if (nr<=0)
         nr=M+nr%M;
    printf("%lld", nr);
    return 0;
}