Cod sursa(job #405387)

Utilizator nautilusCohal Alexandru nautilus Data 27 februarie 2010 22:44:16
Problema Algoritmul lui Euclid extins Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 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<<" "<<y<<'\n';
		  } else
		  fout<<"0 0"<<'\n';
	 }
 
 fin.close();
 fout.close();
 
 return 0;
}