Cod sursa(job #324596)

Utilizator Abi79Iordache Albert Abi79 Data 16 iunie 2009 16:02:56
Problema Algoritmul lui Euclid extins Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<stdio.h>

using namespace std;

int t,a,b,c;

inline int gcd(int A, int B, int &X, int &Y)
{
	if (B==0)
	{
		X=1;
		Y=0;
		return A;
	}
	
	int X0, Y0, D;
	D=gcd(B,A%B,X0,Y0);
	
	X=Y0;
	Y=X0-(A/B)*Y0;
	return D;
}

int main()
{
	int i;
	FILE *f=fopen("euclid3.in","r"),*s=fopen("euclid3.out","w");
	
	fscanf(in,"%d",&t);
	
	for(i=1;i<=t;i++)
	{
		fscanf(in,"%d %d %d",&a,&b,&c);
		
		int d,x,y;
		
		d=gcd(a,b,x,y);
		
		if(c%d)
			fprintf(s,"0 0\n");
		else
			fprintf(s,"%d %d\n",x*(c/d),y*(c/d));
	}
	
	fclose(s);
	
	return 0;
}