Pagini recente » Borderou de evaluare (job #1010275) | Borderou de evaluare (job #1257029) | Cod sursa (job #1397322) | Cod sursa (job #2945903) | Cod sursa (job #3233153)
#include <stdio.h>
#include <stdlib.h>
int euclidExtins(int a, int b, int *x, int *y){
if (b == 0)
{
*x = 1;
*y = 0;
return a;
}
else
{
int div = euclidExtins(b, a % b, x, y);
int aux = *x;
*x = *y;
*y = aux - *y * (a/b);
return div;
}
}
int main()
{
int a, b, c, n, div;
int x, y;
FILE* in = fopen("euclid3.in", "r");
FILE* out = fopen("euclid3.out", "w");
fscanf(in, "%d", &n);
while (n > 0) {
fscanf(in, "%d %d %d", &a, &b, &c);
div = euclidExtins(a, b, &x, &y);
if (c % div != 0)
fprintf(out,"0 0\n");
else
fprintf(out, "%d %d\n", x * c / div, y * c / div);
n--;
}
fclose(in);
fclose(out);
return 0;
}