Cod sursa(job #639162)

Utilizator maritimCristian Lambru maritim Data 22 noiembrie 2011 17:25:35
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include<stdio.h>

int T,A,B,D,d,X,Y;

int euclid(int a,int b,int &x,int &y)
{
	if(b == 0)
	{
		x = 1; y = 0;
		return a;
	}
	int x0,y0;
	int d = euclid(b,a%b,x0,y0);
	x = y0; y = x0-(a/b)*y0;
	return d;
}

int main()
{
	FILE *f = fopen("euclid3.in","r");
	FILE *g = fopen("euclid3.out","w");
	
	fscanf(f,"%d ",&T);
	for(int i=1;i<=T;i++)
	{
		fscanf(f,"%d %d %d",&A,&B,&D);
		d = euclid(A,B,X,Y);
		if(D%d == 0)
			fprintf(g,"%d %d\n",X*(D/d),Y*(D/d));
		else
			fprintf(g,"0 0\n");
	}
	
	fclose(g);
	fclose(f);
	return 0;
}