Cod sursa(job #2006059)

Utilizator sergiudnyTritean Sergiu sergiudny Data 28 iulie 2017 17:56:21
Problema Invers modular Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
int a,n;

void euclid(int a,int b,int *d,int *x,int *y){
    if(!b){
        *d = a,*x = 1,*y = 0;
    }else{
        int x0,y0;
        euclid(b,a%b,d,&x0,&y0);
        *x=y0;
        *y=x0-(a/b)*y0;
    }
}

int main()
{
    fin>>a>>n;
    int d,x,y;
    euclid(a,n,&d,&x,&y);
    fout<<x+n*(x<0);
    return 0;
}