Pagini recente » Istoria paginii runda/nr92/clasament | Utilizatori inregistrati la preONI 2007, Runda 4, Clasa a 10-a | Istoria paginii runda/aib-uri/clasament | Istoria paginii runda/o_oji | Cod sursa (job #3134879)
#include <stdio.h>
#include <stdlib.h>
int euclid(int a, int b, int* x, int* y)
{
if (b == 0)
{
*x = 1;
*y = 0;
return a;
}
else
{
int x1, y1, d;
d = euclid(b, a % b, &x1, &y1);
*x = y1;
*y = x1 - a / b * y1;
return d;
}
}
int main() {
int T, a, b, c, d, x, y;
FILE* fin, * fout;
fin = fopen("euclid3.in", "rt");
fout = fopen("euclid3.out", "wt");
if (fin == NULL || fout == NULL)
{
printf("Eroare");
return 0;
}
fscanf(fin, "%d", &T);
for (int i = 0; i < T; ++i)
{
fscanf(fin, "%d %d %d", &a, &b, &c);
d = euclid(a, b, &x, &y);
if (c % d)
fprintf(fout, "0 0\n");
else
fprintf(fout, "%d %d\n", x * (c / d), y * (c / d));
}
return 0;
}