Cod sursa(job #775438)

Utilizator cameleonGeorgescu Dan cameleon Data 8 august 2012 09:39:32
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<fstream>
using namespace std;
ifstream f("euclid3.in");
ofstream g("euclid3.out");
long long t,a,b,c,d,x,y;

long long cmmdc(long long a,long long b)
{
	int r;
	while(b)
		r=a%b,a=b,b=r;
	return a;
}
int main()
{
	f>>t;
	for(int i=1;i<=t;i++)
	{
		f>>a>>b>>c;
		d=cmmdc(a,b);
		if(c%d)
		{
			g<<0<<' '<<0<<'\n';
			continue;
		}
		else
		{
			a=a/d;b=b/d;c=c/d;
			x=1;
			if(b==0){x=1;y=2;}
			else{
				while((c-a*x)%b)
				{
					if((c+a*x)%b==0){x=-x;break;}
					x++;
				}
			y=(c-a*x)/b;}
			g<<x<<' '<<y<<'\n';
		}
	}
	return 0;
}