Pagini recente » Cod sursa (job #3299559) | Cod sursa (job #3298626) | Cod sursa (job #333512) | Monitorul de evaluare | Cod sursa (job #3298865)
#include <stdio.h>
long long euclid(long long a, long long b, long long *x, long long *y) {
if (b == 0) {
*x = 1; *y = 0;
return a;
}
long long x1, y1;
long long d = euclid(b, a % b, &x1, &y1);
*x = y1;
*y = x1 -(a/b)*y1;
return d;
}
int main() {
FILE *in = fopen("euclid3.in", "r");
FILE *out = fopen("euclid3.out", "w");
int t;
fscanf(in, "%d", &t);
while (t--)
{
long long a, b, c, x, y;
fscanf(in, "%lld %lld %lld", &a, &b, &c);
long long d = euclid(a, b, &x, &y);
if (c % d != 0)
fprintf(out, "0 0\n");
else {
x *= c / d;
y *= c / d;
fprintf(out, "%lld %lld\n", x, y);
}
}
fclose(in);
fclose(out);
return 0;
}