Cod sursa(job #1030807)

Utilizator roby2001Sirius roby2001 Data 15 noiembrie 2013 16:58:33
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
/*
    Keep It Simple!
*/

#include<stdio.h>

int n;

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

int main()
{
	
	freopen("euclid3.in","r",stdin);
	freopen("euclid3.out","w",stdout);

    scanf("%d",&n);
	int a,b,d,x,y,aux;
	for(int i=1;i<=n;i++)
	{
		scanf("%d%d%d",&a,&b,&d);
		cmmdc(a,b,&aux,&x,&y);
		
		if(d%aux)
			printf("0 0\n");
		else
			printf("%d %d\n",x*(d/aux),y*(d/aux));
		   
	}
}