Cod sursa(job #1316255)

Utilizator AndreiITCuriman Andrei AndreiIT Data 13 ianuarie 2015 17:46:13
Problema Invers modular Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
#define MOD 1999999973
int euclid(int a, int b, int &x, int &y){
    if(b==0){
        x = 1; y = 0;
        return a;
    }
    int d, aux;
    d = euclid(b, a%b, x, y);
    aux = x;
    x = y;
    y = aux - y*(a/b);
    return d;
}
int invers(int a, int n)
{
    int x, y;
    euclid(a, n, x, y);
    while(x<0)
        x=x+n;
    return x;
}
int main()
{
    int a, n;
    fin>>a>>n;
    /*
    for(int i=1;i<=t;i++)
    {
        int a, b, c, d;
        fin>>a>>b>>c;
        d=euclid(a, b, x, y);
        if(c%d==0)
            fout<<x*(c/d)<<" "<<y*(c/d)<<'\n';
        else
            fout<<"0 0\n";
    }*/
    fout<<invers(a,n);
    return 0;
}