Cod sursa(job #233950)

Utilizator k_ounu_eddyIacob Eduard k_ounu_eddy Data 19 decembrie 2008 18:58:08
Problema Algoritmul lui Euclid extins Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include<stdio.h>

int T,a,b,c,aux;

int cmmdc(int a,int b,int &x,int &y)
{
if(b==0)
  {
  x=1;
  y=0;
  return a;
  }
else
  {int x0,y0;
  c=cmmdc(b,a%b,x0,y0);
  aux=x;
  x=y;
  y=aux-(a/b)*y0;
  return c;
  }
}

inline void rezolva()
{
FILE *pin=fopen("euclid3.in","r");
FILE *pout=fopen("euclid3.out","w");
int a,b,c,d,x,y;
for(fscanf(pin,"%d",&T);T;T--)
  {
  fscanf(pin,"%d",&a);
  fscanf(pin,"%d",&b);
  fscanf(pin,"%d",&c);

  d=cmmdc(a,b,x,y);
  if(c%d==0)
    fprintf(pout,"%d %d\n",x*(c/d),y*(c/d));
  else
    fprintf(pout,"0 0\n");
  }
fclose(pin);
fclose(pout);
}


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