Cod sursa(job #849876)

Utilizator DrakeDemonSebestin Dragos DrakeDemon Data 7 ianuarie 2013 19:26:55
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <stdio.h>
#include <assert.h>
 
inline int euclid(int a, int b, int &x, int &y)
{
	if(b==0)
	{
		x=1;
		y=0;
		return a;
	}
	int d, x0, y0;
	d = euclid(b, a%b, x0, y0);

	x = y0;
	y = x0 - (a/b)*y0;

	return d;
}

int a,b,c,d,x,y,n;
 
int main()
{
    freopen("euclid3.in", "rt", stdin);
    freopen("euclid3.out", "wt", stdout);
 
	for(scanf("%d", &n); n; n--)
	{
		scanf("%d%d%d", &a, &b, &c);

		d = euclid(a,b,x,y);
		if(c % d)
			printf("0 0\n");
		else
			printf("%d %d\n", x * (c/d), y * (c/d));
	}
}