Cod sursa(job #2908634)

Utilizator raulciureRaul Ciure raulciure Data 4 iunie 2022 19:28:04
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
#define INPUT "euclid3.in"
#define OUTPUT "euclid3.out"

using namespace std;

int extended_euclid(int a, int b, int &x, int &y)
{
	if (b == 0)
	{
		x = 1;
		y = 0;
		return a;
	}
	int D, x0, y0;
	D = extended_euclid(b, a % b, x0, y0);
	x = y0;
	y = x0 - (a / b) * y0;
	return D;
}

int main()
{
	ifstream fin(INPUT);
	ofstream fout(OUTPUT);
	unsigned short T, i;
	int a, b, c, cmmdc, x, y;
	fin >> T;
	for (i = 0; i < T; ++i)
	{
		fin >> a >> b >> c;
		cmmdc = extended_euclid(a, b, x, y);
		if (c % cmmdc != 0) fout << "0 0\n";
		else fout << x * (c / cmmdc) << " " << y * (c / cmmdc) << "\n";
	}

	fin.close(); fout.close();
	return 0;
}