Cod sursa(job #694611)

Utilizator DSzprogDombi Szabolcs DSzprog Data 27 februarie 2012 22:10:16
Problema Algoritmul lui Euclid extins Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <cstdio>

int a, b, c, x, y;
void dombi_szabolcs_extends_euclid_algorithm(int aa, int bb) {
	int ax = 1, bx = 0;
	while (bb) {
		int cx = ax - aa / bb * bx; ax = bx; bx = cx;
		int rr = aa % bb; aa = bb; bb = rr;
	}
	if (c % aa) {
		x = 0; y = 0;
	} else {
		x = ax * c / aa; y = (c - a * x) / b;
	}
}

int main() {
	FILE * in = fopen("euclid3.in", "rt");
	FILE * out = fopen("euclid3.out", "wt");

	int num;
	fscanf(in, "%d", &num);
	while (num--) {
		fscanf(in, "%d%d%d", &a, &b, &c);
		dombi_szabolcs_extends_euclid_algorithm(a, b);
		fprintf(out, "%d %d\n", x, y);
	}

	fclose(in);
	fclose(out);
}