Cod sursa(job #661916)

Utilizator marinMari n marin Data 15 ianuarie 2012 15:21:59
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <stdio.h>

int n, a, b, c, d, x, y;

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


int main() {
	FILE *f = fopen("euclid3.in","r");
	FILE *g = fopen("euclid3.out","w");
	fscanf(f,"%d",&n);
	for (;n;--n) {
		fscanf(f,"%d %d %d",&a, &b, &c);
		int d = cmmdc(a, b, x, y);
		if (c%d == 0)
			fprintf(g,"%d %d\n",x*(c/d),y*(c/d));
		else
			fprintf(g,"0 0\n");
	}
	fclose(f);
	return 0;
}