Cod sursa(job #2329429)

Utilizator DanutAldeaDanut Aldea DanutAldea Data 26 ianuarie 2019 19:16:09
Problema Invers modular Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.53 kb
#include <fstream>
using namespace std;

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

long long a,n,x,y;

long long euclid(long long a, long long b, long long &x, long long &y){
    if(b==0){
        x=1;
        y=0;

        return a;
    }else{
        long long xa,ya,d;
        d=euclid(b,a%b,xa,ya);
        x=ya;
        y=xa-a/b*ya;

        return d;
    }
}

int main(){
    fin>>a>>n;
    euclid(a,n,x,y);

    while(x<0){
        x+=n;
    }

    fout<<x;

    return 0;
}