Cod sursa(job #2129286)

Utilizator AlexnolifeAlexandru Ica Alexnolife Data 12 februarie 2018 18:15:39
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream> 
#include <fstream>

void euclid(int a, int b, int * d, int * x, int * y)
{
	if (b == 0) {
		*d = a;
		*x = 1;
		*y = 0;
	}
	else {
		int x0, y0;

		euclid(b, a % b, d, &x0, &y0);

		*x = y0;
		*y = x0 - (a / b) * y0;
	}
}

int main()
{
	std::ifstream f("euclid3.in");
	std::ofstream g("euclid3.out");

	int n;

	f >> n;
	
	int a, b, c;

	for (int i = 1; i <= n; i++) {
		f >> a >> b >> c;

		int d, x, y;

		euclid(a, b, &d, &x, &y);

		if (c % d != 0) {
			g << "0 0\n";
		}
		else {
			g << x * (c / d) << " " << y * (c / d) << "\n";
		}
	}

	return EXIT_SUCCESS;
}