Cod sursa(job #2050440)

Utilizator alexandruilieAlex Ilie alexandruilie Data 28 octombrie 2017 09:54:02
Problema Invers modular Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <iostream>
#include <fstream>
#define ll long long

using namespace std;

ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");

ll A,N;

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

int main()
{
    fin>>A>>N;
    ll x,y;
    gcd(x,y,A,N);
    if(x<0) x+=N;
    fout<<x;
    return 0;
}