Cod sursa(job #265861)

Utilizator yoyolichIoana Ardeleanu yoyolich Data 24 februarie 2009 17:13:40
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<stdio.h>
FILE *f=fopen("euclid3.in","r"), *g=fopen("euclid3.out","w");

int t,i;

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

int main()
{
	fscanf(f,"%d",&t);
	for(i=1;i<=t;i++)
	{
		int a,b,c,x,y;
		fscanf(f,"%d %d %d",&a,&b,&c);
		int d;
		d=euclid(a,b,x,y);
		if(c%d) fprintf(g,"0 0\n");
		else fprintf(g,"%d %d\n",x*(c/d), y*(c/d));
	}
	
	fclose(f);
	fclose(g);
	return 0;
}