Cod sursa(job #401386)

Utilizator funkydvdIancu David Traian funkydvd Data 22 februarie 2010 20:20:41
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include<stdio.h>
inline int gcd(int a,int b,int &x,int &y)
{
	if(b==0)
	{
		x=1;
		y=0;
		return a;
	}
	int d,y0,x0;
	d=gcd(b,a%b,x0,y0);
	x=y0;
	y=x0-(a/b)*y0;
	return d;
}
int main()
{
	int T,i,a,b,x,y,d,c;
	freopen("euclid3.in","r",stdin);
	freopen("euclid3.out","w",stdout);
	scanf("%ld",&T);
	for(i=1;i<=T;i++)
	{
		scanf("%ld %ld %ld\n",&a,&b,&c);
		d=gcd(a,b,x,y);
		//scanf("%d\n",&c);
		if(c%d!=0)
			printf("0 0\n");
		else
			printf("%ld %ld\n",x*(c/d),y*(c/d));
	}
	return 0;
}