Cod sursa(job #761572)

Utilizator VladberilaVladutz Vladberila Data 26 iunie 2012 16:28:51
Problema Algoritmul lui Euclid extins Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <stdio.h>
FILE *f = fopen("euclid3.in","r");
FILE *g = fopen("euclid3.out","w");
int T,i;
long a,b,c;

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

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