Cod sursa(job #368803)

Utilizator GotenAmza Catalin Goten Data 25 noiembrie 2009 22:31:18
Problema Algoritmul lui Euclid extins Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<fstream.h>

long a1,a2,a3,b1,b2,b3,b,a,n,i,c,aa,bb,d,aux;

int main()
{
 ifstream f("euclid3.in");
 ofstream g("euclid3.out");
 f>>n;
 for(i=1;i<=n;i++)
 {
  f>>a>>b>>c;aa=a;bb=b;
  while(a&&b)if(a>b)a=a-(a/b)*b;
	     else b=b-(b/a)*a;
  d=a+b;
  a=aa;b=bb;
  if(c%d)g<<"0 0";
  else
   {
    if(a>b){a2=1;b2=-a/b;a1=0;b1=1;}
    else {b2=1;a2=-b/a;b1=0;a1=1;}
    while(a%b&&b%a)
     {
      if(a>b){aux=a/b;;a-=aux*b;}
      else {aux=b/a;b-=aux*a;}
      a3=a2;b3=b2;a2=(a1-aux*a2);b2=(b1-aux*b2);a1=a3;b1=b3;
      }
     g<<c/d*a2<<' '<<c/d*b2<<'\n';
    }
   
   }
 return 0;
 }