Cod sursa(job #694626)

Utilizator DSzprogDombi Szabolcs DSzprog Data 27 februarie 2012 22:21:34
Problema Algoritmul lui Euclid extins Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <cstdio>

long long int a, b, c, x, y;
void dombi_szabolcs_extends_euclid_algorithm(long long int aa, long long int bb) {
	long long int ax = 1, bx = 0;
	while (bb) {
		long long int cx = ax - aa / bb * bx; ax = bx; bx = cx;
		long long 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");

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

	fclose(in);
	fclose(out);
}