Pagini recente » Cod sursa (job #1203039) | Cod sursa (job #324755) | Cod sursa (job #107668) | Cod sursa (job #470339) | Cod sursa (job #494813)
Cod sursa(job #494813)
#include <stdio.h>
void gcdext(int a, int b, int *d, int *u, int *v)
{
if(b == 0) {
*d = a;
*u = 1;
*v = 0;
} else {
int u0, v0;
gcdext(b, a%b, d, &u0, &v0);
*u = v0;
*v = u0-(a/b)*v0;
}
}
int main()
{
freopen("euclid3.in", "r", stdin);
freopen("euclid3.out", "w", stdout);
int T, a, b, c, d, u, v;
for(scanf("%d", &T); T > 0; --T) {
scanf("%d %d %d", &a, &b, &c);
gcdext(a, b, &d, &u, &v);
if(c%d == 0) {
u *= c/d;
v *= c/d;
} else u = v = 0;
printf("%d %d\n", u, v);
}
return 0;
}