Cod sursa(job #1666780)

Utilizator ajeccAjechiloae Eugen ajecc Data 28 martie 2016 13:06:48
Problema Invers modular Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");

void invers_modular(int a, int b, int& d, int& x, int & y)
{
    if(!b)
    {
        d=a;
        x=1;
        y=0;
        return ;
    }
    int x0, y0;
    invers_modular(b, a%b, d, x0, y0);
    x=y0;
    y=x0-a/b*y0;
} // daca x<0 se aduna cu mod pana e mai mare, x fiind rezultatul


int main()
{
    int a, mod;
    fin>>a>>mod;
    int d, x, y;
    invers_modular(a, mod, d, x, y);
    while(x<0)x+=mod;
    fout<<x;

    return 0;
}