Pagini recente » Cod sursa (job #2204847) | Cod sursa (job #1616147) | Cod sursa (job #2469147) | Cod sursa (job #1341476) | Cod sursa (job #1339110)
#include <stdio.h>
#define MIN(a, b) (a < b) ? (a) : (b)
#define MAX(a, b) (a > b) ? (a) : (b)
void solve (int a, int b, int *d, int *x, int *y) {
if (a == 0) {
*d = b;
*x = 0;
*y = 1;
} else {
int x0, y0;
solve (b % a, a, d, &x0, &y0);
*y = x0;
*x = y0 - (b/a) * x0;
}
}
int main (void) {
int n;
FILE *in = fopen("euclid3.in", "r");
FILE *out = fopen("euclid3.out", "w");
fscanf(in, "%d", &n);
int a, b, c, x, y, d;
for (int i = 0; i < n; i++) {
fscanf(in, "%d %d %d", &a, &b, &c);
solve(a, b, &d, &x, &y);
if (c % d) {
fprintf(out, "0 0\n");
} else {
int temp = c / d;
fprintf(out, "%d %d\n", x * temp, y * temp);
}
}
fclose(in);
fclose(out);
return 0;
}