Cod sursa(job #975247)

Utilizator petrutsxMihaela Petruta Gaman petrutsx Data 19 iulie 2013 15:42:15
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include<stdio.h>

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

int main(){
	int a, b, c, d, x, y, T, i;
	FILE *pf, *pg;

	pf = fopen("euclid3.in", "r");
	pg = fopen("euclid3.out", "w");

	fscanf(pf, "%d", &T);

	for(i = 1; i <= T; i++){
		fscanf(pf, "%d %d %d", &a, &b, &c);
		d = euclidExtins(a, b, x, y);
		
		if(c%d == 0)
			fprintf(pg, "%d %d\n", x*(c/d), y*(c/d));
		else
			fprintf(pg, "0 0\n");

	}

	fclose(pf);
	fclose(pg);

	return 0;

}