Cod sursa(job #2910217)

Utilizator radu.seitanSeitan Radu-Catalin radu.seitan Data 18 iunie 2022 18:46:21
Problema Algoritmul lui Euclid extins Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>


int euc(int a, int b, int *x, int *y)
{
	int x0, y0, d;

	if (b == 0)
	{
		*x = 1;
		*y = 0;
		return a;
	}

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

	return d;
}

int main()
{
	FILE *euclid3_in, *euclid3_out;
	int T, a, b ,c, d, x, y;

	euclid3_in = fopen("euclid3.in", "r");
	euclid3_out = fopen("euclid3.out", "w");

	fscanf(euclid3_in, "%d\n", &T);

	while (T > 0) {
		fscanf(euclid3_in, "%d %d %d\n", &a, &b, &c);

		d = euc(a, b, &x, &y);
		
		if (c % d)
			fprintf(euclid3_out, "0 0\n");
		else
			fprintf(euclid3_out, "%d %d\n", x * (c / d), y * (c / d));

		T -= 1;
	}

	fclose(euclid3_in);
	fclose(euclid3_out);

	return 0;
}