Cod sursa(job #645107)

Utilizator KoniacDocea Andrei Koniac Data 8 decembrie 2011 15:36:07
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<stdio.h>
FILE * f = fopen("euclid3.in","r");
FILE * g = fopen("euclid3.out","w");

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


void euclid(int a, int b, int *d, int *x, int *y) {
	if (b == 0) {
		*d = a;
		*x = 1;
		*y = 0;
		return;
	}

	int x0, y0;
	euclid(b, a%b, d, &x0, &y0);
	*x = y0;
	*y = x0 - (a / b) * y0;
}

int main(){
	fscanf(f,"%d",&n);
	for(int i=1;i<=n;i++){
		fscanf(f,"%d%d%d",&a,&b,&c);
		euclid(a, b, &d, &x, &y);
		if (c % d != 0) {
			fprintf(g,"0 0\n");
		} else {
			fprintf(g,"%d %d\n", (c/d) * x, (c/d) * y);
		}
	}
	
	fclose(f);
	fclose(g);
	return 0;
}