Cod sursa(job #572664)

Utilizator Rares95Rares Arnautu Rares95 Data 5 aprilie 2011 15:24:55
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<stdio.h>
int n,a,b,c,d,i,x,y;

int euex(int a, int b)
{	int r,q,x1,x2,y1,y2;
	if(!b) {x=1; y=0; return a;}
	x1=1; x=x2=0; y1=0; y=y2=1;
	for(r=a%b,q=a/b;r;)
	{	x=x1-x2*q; x1=x2; x2=x;
		y=y1-y2*q; y1=y2; y2=y;
		a=b; b=r; r=a%b; q=a/b;
	}
	return b;
}

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