Cod sursa(job #359491)

Utilizator ooctavTuchila Octavian ooctav Data 27 octombrie 2009 09:34:53
Problema Algoritmul lui Euclid extins Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
// euclid3.cpp : Defines the entry point for the console application.
//

#include <cstdio>

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


int cmmdc(int a,int b)
{
	int r;
	while(b)
	{
		r=a%b;
		a=b;
		b=r;
	}

	return a;
}


int main()
{
	int t,a,b,c;
	freopen("euclid.in","r",stdin);
	freopen("euclid.out","w",stdout);
	scanf("%d",&t);
	for(int i=1;i<=t;i++)
	{
		int x,y,d;
		scanf("%d %d %d",&a,&b,&c);
		d=cmmdc(a,b);
		euclid(a,b,&x,&y);
		if(c%d==0)
			printf("%d %d\n",x*c/d,y*c/d);
		else
			printf("0 0\n");
	}

	return 0;
}