Cod sursa(job #1206251)

Utilizator nicol.bolasNicol Bolas nicol.bolas Data 9 iulie 2014 12:45:11
Problema Invers modular Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include<cstdio>
using namespace std;
int n,d,a,x,y;
int cmmdc(int A, int B, int &X, int &Y)
{
    if (B==0)
    {
        X=1, Y=0;
        return A;
    }
    else
    {
        int Xa,Ya,D=cmmdc(B,A%B,Xa,Ya);
        X=Ya;
        Y=Xa-(A/B)*Ya;
        return D;
    }
}
int main()
{
    freopen("inversmodular.in","r",stdin);
    freopen("inversmodular.out","w",stdout);
    scanf("%d%d",&a,&n);
    d=cmmdc(a,n,x,y);
    x%=n;
    if (x<0) x+=n;
    printf("%d\n",x);
    return 0;
}