Cod sursa(job #792520)

Utilizator vlad96Vlad Zuga vlad96 Data 27 septembrie 2012 14:22:00
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include<stdio.h>


void euclid (long long a, long long b, long long &x, long long &y, long long &d)
{
	if ( b == 0 )
	{
		x = 1;
		y = 0;
		d = a;
	}
	else
	{
		long long x0, y0;
		euclid (b, a%b, x0, y0, d);
		x = y0;
		y = x0 - (a/b)*y0; 
	}
}


int main ()
{
	long long a, b, c, d, x, y;
	int t;
	FILE *fis = fopen ("euclid3.in", "r");
	FILE *fis2 = fopen ("euclid3.out", "w");
	fscanf(fis, "%d", &t);
	while (t)
	{
		fscanf(fis, "%lld %lld %lld", &a, &b, &c);
		euclid (a, b, x, y, d);
		if ( c % d )
			fprintf(fis2, "0 0\n");
		else
			fprintf(fis2, "%lld %lld\n", x*(c/d), y*(c/d));
		t--;
	}
	fclose(fis);
	fclose(fis2);
	return 0;
}