Pagini recente » Profil Radu_mario | Statistici Stefanel Roscan (Stefanel) | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #3136391)
#include <stdio.h>
#include <assert.h>
int euclidExtended(int a, int b, int *x, int *y) {
if (a == 0) {
*x = 0;
*y = 1;
return b;
}
int x1, y1;
int cmmdc = euclidExtended(b % a, a, &x1, &y1);
*x = y1 - (b / a) * x1;
*y = x1;
return cmmdc;
}
int main() {
int T, A, B, C;
int finalCMMDC;
freopen("euclid3.in", "r", stdin);
freopen("euclid3.out", "w", stdout);
scanf("%d", &T);
for (int index = 1; index <= T; ++index) {
scanf("%d %d %d", &A, &B, &C);
int X, Y;
finalCMMDC = euclidExtended(A, B, &X, &Y);
if (C % finalCMMDC) {
printf("0 0\n");
} else {
printf("%d %d\n", X * (C / finalCMMDC), Y * (C / finalCMMDC));
}
}
return 0;
}