Cod sursa(job #787372)

Utilizator jumper007Raul Butuc jumper007 Data 13 septembrie 2012 11:37:05
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>

using namespace std;

const int Max = 100;

int CMMDC(int a, int b, int &x, int &y);

int main()
{
	long coef_A, coef_B, coef_C;
	int T, d, x, y;

	ifstream inFILE("euclid3.in");
	ofstream outFILE("euclid3.out");

	inFILE >> T;

	for (int i = 1; i <= T; i++)
	{
		inFILE >> coef_A >> coef_B >> coef_C;

		d = CMMDC(coef_A, coef_B, x, y);

		if (coef_C % d)
		{
			outFILE << "0 0" << "\n";
		}
		else
		{
			outFILE << x * (coef_C / d) << " " << y * (coef_C / d) << "\n";
		}
	}
}

int CMMDC(int a, int b, int &x, int &y)
{
	if (b == 0)
	{
		x = 1;
		y = 0;
		return a;
	}

	int x0, y0, d;
	d = CMMDC(b, a%b, x0, y0);
	
	x = y0;
	y = x0 - (a / b) * y0;

	return d;
}