Cod sursa(job #520873)

Utilizator titeltitel popescu titel Data 10 ianuarie 2011 18:04:16
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <fstream.h>
ifstream f("euclid3.in");
ofstream g("euclid3.out");
int T,i,a,b,c,r,q;
long x1,x2,x3,y1,y2,y3;
int main()
{f>>T;
 for(i=1;i<=T;i++)
	{f>>a>>b>>c;
	 if(b==0)
	    if(c%a==0) g<<c/a<<" 0\n"; else g<<"0 0\n";
	  else
		{x1 = 1; x2 = 0; 
	     y1 = 0; y2 = 1; 
		 r=a%b; q=a/b;
		 while(r)
		  {	x3 = x1 - x2 * q;
			y3 = y1 - y2 * q;
			x1=x2; x2=x3; 
			y1=y2; y2=y3;
			a=b; b=r; r=a%b; q=a/b;
		  }
		 if(c%b) g<<"0 0\n"; else g<<x2*(c/b)<<" "<<y2*(c/b)<<"\n";
	    }
	}
 g.close(); return 0;
}