Cod sursa(job #359002)

Utilizator prdianaProdan Diana prdiana Data 25 octombrie 2009 14:02:09
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 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,x0,y0;
	d = gcd(b, a % b,x0,y0);
	x = y0;
	y = x0 - (a/b)*y0;
	
	return d;
}

int main()
{
	int t,i,x,y,a,b,c,d;
	freopen("euclid3.in","r",stdin);
	freopen("euclid3.out","w",stdout);

	scanf("%d",&t);

	for (i=0;i<t;i++)
	{
		scanf("%d%d%d",&a,&b,&c);
		d = gcd(a,b,x,y);

		if (c % d)
		{
			printf("0 0\n");
		}
		else
		{
			printf("%d %d\n",x*(c/d),y*(c/d));
		}
	}

	return 0;
}