Cod sursa(job #1292090)

Utilizator BabutaRaresBabuta Rares Mihai BabutaRares Data 13 decembrie 2014 17:11:29
Problema Algoritmul lui Euclid extins Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.7 kb
#include<stdio.h>
#include<cmath>
int gcd(int a, int b)
{
	if (b == 0) return a;
	return gcd(b, a%b);
}
int main()
{
	FILE *in, *out;
	in = fopen("euclid3.in","r");
	out = fopen("euclid3.out","w");
	int t, n, m, i, a, b, c,cmmdc,x,y;
	fscanf(in, "%d", &t);
	for (i = 1; i <= t; i++)
	{
		fscanf(in, "%d%d%d", &a, &b, &c);
		cmmdc = gcd(abs(a), abs(b));
		if (c%cmmdc != 0) fprintf(out,"0 0\n");
		else
		{
			for (n = 0; n <= 100000;n++)
			if ((double((double)(cmmdc - a*n) / (double)(b))) == (int)(double((double)(cmmdc - a*n) / (double)(b))))
			{
				m = (cmmdc - a*n) / b;
				break;
			}
			x = (c*n) / cmmdc; y = (c*m) / cmmdc;
			fprintf(out,"%d %d\n", x, y);
		}
	}
	return 0;
}