Cod sursa(job #208769)

Utilizator horiama1Mania Horia horiama1 Data 18 septembrie 2008 13:06:54
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include<stdio.h>
  inline int cmd(int a,int b)    
    {    
        if(!b)    
            return a;    
       return cmd(b,a%b);    
    }    
                
void euclid(int a,int b,int &x,int &y)
{
	if(b==0)
	{
		x=1;
		y=0;
		return;
	}
	int xx,yy,q=a/b;
	euclid(b,a%b,xx,yy);
	x=yy;
	y=xx-yy*q;
}
int main()
{
	freopen("euclid3.in","r",stdin);
	freopen("euclid3.out","w",stdout);
	int a,b,c,i,d,x=0,y=0,z=0,n;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d%d%d",&a,&b,&c);
		d=cmd(a,b);
		if(c%d!=0)
			printf("0 0\n");
		else
		{	
			euclid(a,b,x,y);
		    z=c/d;
		printf("%d %d\n",x*z,y*z);
		}
	}
	return 0;
}