Cod sursa(job #2224205)

Utilizator ctlin04UAIC.VlasCatalin ctlin04 Data 23 iulie 2018 14:08:40
Problema Invers modular Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include<fstream>
using namespace std;

int a,b,x,y;

void euclid(int a, int b, int &x, int &y) {
  if (b==0) {
    x=1;
    y=0;
  }
  else {
   int xp, yp;
   euclid(b,a%b,xp,yp);
   x=yp;	
   y=xp+(a/b)*yp;	
  }
}

int main(void) {
	ifstream cin("inversmodular.in");
	ofstream cout("inversmodular.out");
	
	cin>>a>>b;
	
	euclid(a,b,x,y);
	
	if (x<0) {
	   int aux= -x/b;
	   x+=b*aux;
	   if (x<0) x+=b;	
	}
	
	cout<<x;
	
	return 0;
}