Cod sursa(job #525800)

Utilizator stay_awake77Cangea Catalina stay_awake77 Data 26 ianuarie 2011 12:44:43
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include<stdio.h>

int t,i,a,b,c,d,x,y;

void euclid(int a,int b,int *d,int *x,int *y)
{	
	if(!b)
	{
		*d=a;
		*x=1;
		*y=0;
	}
	else
	{
		int x0,y0;
		
		euclid(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",&t);
	for(i=0;i<t;++i)
	{
		scanf("%d%d%d",&a,&b,&c);
		euclid(a,b,&d,&x,&y);
		if(c%d) printf("0 0\n");
		else printf("%d %d\n",x*(c/d),y*(c/d));
	}
	
	return 0;
}