Cod sursa(job #595622)

Utilizator mihaipopa12Popa Mihai mihaipopa12 Data 13 iunie 2011 13:43:06
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include<stdio.h>

FILE*f=fopen("euclid3.in","r");
FILE*g=fopen("euclid3.out","w");

int T,a,b,c;

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

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