Cod sursa(job #530209)

Utilizator toniobFMI - Barbalau Antonio toniob Data 7 februarie 2011 11:02:41
Problema Invers modular Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>
using namespace std;

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

int a, n;

void euclid (int a, int b, int& x, int& y, int& d) {
	if (b == 0) {
		x = 1;
		y = 0;
		d = a;
		return;
	}
	int x1, y1, q = a / b;
	euclid (b, a % b, x1, y1, d);
	x = y1;
	y = x1 - q * y1;
}

void citire () {
	in >> a >> n;
}

void exe () {
	int x, y, d;
	euclid (a, n, x, y, d);
	out << (n + x % n) % n;
}

int main () {
	citire ();
	
	exe ();
	
	return 0;
}