Cod sursa(job #598461)

Utilizator mrpopescuPopescu Mihai Tudor mrpopescu Data 25 iunie 2011 21:08:39
Problema Algoritmul lui Euclid extins Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <stdio.h>
long cmmdc(long a, long b, long &x, long &y){
	if(b==0){
		x=1;y=0;
		return a;
		}
	long x0,y0,d;
	d=cmmdc(b,a%b,x0,y0);
	x=x0;
	y=x0-(a/b)*y0;
	return d;
	}
	
int main(){
	FILE *f,*g;
	long T,d,x,y,i,a,b,c;
	f=fopen("euclid3.in","rt");
	g=fopen("euclid3.out","wt");
	fscanf(f,"%ld\n",&T);
	for (i=0;i<T;i++){
		fscanf(f,"%ld %ld %ld\n",&a,&b,&c);
		d=cmmdc(a,b,x,y);
		if(c%d) fprintf(g,"0 0\n");
		else fprintf(g,"%ld %ld\n", x * (c /d), y * (c / d));
			}
	fclose(f);
	fclose(g);
	return 0;
}