Cod sursa(job #208291)

Utilizator tamicTamas Iulia tamic Data 15 septembrie 2008 17:04:53
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <stdio.h>

FILE *fin,*fout;
int i,t;
long a,b,c,d,x,y;

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

int main(){
	fin=fopen("euclid3.in","r");
   fout=fopen("euclid3.out","w");
   fscanf(fin,"%d",&t);
   for(i=1;i<=t;i++){
   	fscanf(fin,"%ld%ld%ld",&a,&b,&c);
      euclid(a,b,d,x,y);
      if(c % d !=0) fprintf(fout,"0 0\n");
      else fprintf(fout,"%ld %ld\n",x*(c/d),y*(c/d));
	}
   fclose(fin); fclose(fout);
   return 0;
}