Cod sursa(job #1821877)

Utilizator Grama911Grama Andrei Grama911 Data 3 decembrie 2016 20:10:11
Problema Algoritmul lui Euclid extins Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>

using namespace std;

FILE *f = fopen("euclid.in", "r");
FILE *g = fopen("euclid3.out", "w");

int t, a, b, c, d, x, y, i;
int euclid(int a, int b, int &x, int &y) 
{
	int r, xa, ya;
	if (!b) 
	{
		x = 1;
		y = 0;
		return a;
	}
	r = euclid(b, a%b, xa, ya);
	x = ya;
	y = xa - (a / b)*ya;
	return r;
}
int main() 
{
	fscanf(f, "%d", &t);
	for (i = 1; i <= t; i++) 
	{
		fscanf(f, "%d%d%d", &a, &b, &c);
		d = euclid(a, b, x, y);
		if (c%d != 0) 
		{
			fprintf(g, "0 0\n");
			continue;
		}
		fprintf(g, "%d %d\n", x*(c / d), y*(c / d));
	}
	return 0;
}