Cod sursa(job #162036)

Utilizator hadesgamesTache Alexandru hadesgames Data 19 martie 2008 12:31:48
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <stdio.h>
void euclid(int a,int b,int *d,int *x,int *y)
{
	int x0,y0;
	if (b==0)
	{
		*x=1;
		*y=0;
		*d=a;
	}
	else
	{
		euclid(b,a%b,d,&x0,&y0);
		*x=y0;
		*y=x0-(a/b)*y0;
	}
		
} 
int main()
{
	FILE *in,*out;
	int t,i,a,b,d,x,y,c;
	in=fopen("euclid3.in","r");
	out=fopen("euclid3.out","w");
	fscanf(in,"%d",&t);
	for (i=1;i<=t;i++)
	{
		fscanf(in,"%d%d%d",&a,&b,&d);
		c=d;
		euclid(a,b,&d,&x,&y);
		if (c%d)
			fprintf(out,"0 0\n");
		else
			fprintf(out,"%d %d\n",x*(c/d),y*(c/d));
	}
	fclose(in);
	fclose(out);
	return 0;
}