Cod sursa(job #675851)

Utilizator nautilusCohal Alexandru nautilus Data 8 februarie 2012 12:55:35
Problema Algoritmul lui Euclid extins Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include<fstream>
using namespace std;

int n;

void euclid_extins(int a, int b, int &d, int &x, int &y)
{
 int x2,y2;
 if (a % b == 0)
	{
	 d = b;
	 x = 0;
	 y = 1;
	} else
	{
	 euclid_extins(b,a%b,d,x2,y2);
	 x = y2;
	 y = x2 - y2 * (a / b);
	}
}

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

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