Cod sursa(job #770465)

Utilizator AndreeaNNedelcu Andreea AndreeaN Data 23 iulie 2012 10:20:42
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<stdio.h>
FILE *f=fopen("euclid3.in","r"),*g=fopen("euclid3.out","w");
long long t;

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

void read(){
long long i,a,b,c,d,x,y;
	fscanf(f,"%lld\n",&t);
	for(i=1; i<=t; i++){
		fscanf(f,"%lld %lld %lld\n",&a,&b,&c);
		get_euclid(a,b,d,x,y);
		if(c%d==0){
			long long ct;
			ct=c/d;
			x=x*ct;
			y=y*ct;
			fprintf(g,"%lld %lld\n",x,y);
		}
		else{
			fprintf(g,"0 0\n");
		}
	}
}

int main(){
	read();
return 0;
}