Cod sursa(job #405393)

Utilizator nautilusCohal Alexandru nautilus Data 27 februarie 2010 22:49:38
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<fstream>
using namespace std;

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

int main()
{
 int t;
 long a,b,c,d,x,y,i;
	
 ifstream fin("euclid3.in");
 fin>>t;
 
 ofstream fout("euclid3.out");
 for (i=1; i<=t; i++)
	 {
	  fin>>a>>b>>c;
	  
	  euclid(a,b,d,x,y);
	  
	  if (c%d==0)
		  {
		   /*x=x* c/d;
		   y=y* c/d;*/
		   
		   fout<<x*(c/d)<<" "<<y*(c/d)<<'\n';
		  } else
		  fout<<"0 0"<<'\n';
	 }
 
 fin.close();
 fout.close();
 
 return 0;
}