Cod sursa(job #2909190)

Utilizator Shapka-NevedimkaSemenenco Stanislav Shapka-Nevedimka Data 9 iunie 2022 19:21:49
Problema Algoritmul lui Euclid extins Scor 0
Compilator c-32 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <stdio.h>
#include <stdlib.h>

int gcd(int* x, int* y, int a, int b)
{
	int aux, y0, d;

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

	d = gcd(&aux, &y0, b, a % b);

	*x = y0;
	*y = aux - y0 * (a / b);
	return d;
}

int main()
{
	FILE* f,g;

	f=fopen("euclid3.in", "rt");
	g=fopen("euclid3.out", "wt");

	int T, i;
	int a, b, d, x, y;
	fscanf(f,"%d", &T);
	for (i = 0; i < T; i++)
	{
		fscanf(f,"%d %d %d", &a, &b, &x);

		d = gcd(&x, &y, a, b);

		if (x % d != 0)
			fprintf(g,"0 0\n");
		else
			fprintf(g,"%d %d\n", x * (x / d), y * (x / d));
	}

	return 0;
}