Pagini recente » Cod sursa (job #3280333) | Cod sursa (job #2382975) | Cod sursa (job #436803) | Cod sursa (job #1690305) | Cod sursa (job #2378015)
#include "stdio.h"
void eea(int a, int b, int *x, int *y, int *d)
{
int vq[32];
//int vr[32];
int q, r;
int n = 0;
while(b != 0) {
r = a % b;
q = a / b;
//vr[n] = r;
vq[n++] = q;
a = b;
b = r;
}
int alpha = -vq[n - 2];
int beta = 1;
for(int i = n - 3; i >= 0; i--) {
int tmp = beta;
beta = alpha - beta * vq[i];
alpha = tmp;
}
*x = alpha;
*y = beta;
*d = a;
}
int main()
{
int T;
int a, b, c;
int x, y, d;
FILE *inFile = fopen("euclid3.in", "r");
FILE *outFile = fopen("euclid3.out", "w");
fscanf(inFile, "%d", &T);
for(int i = 0; i < T; i++) {
fscanf(inFile, "%d", &a);
fscanf(inFile, "%d", &b);
fscanf(inFile, "%d", &c);
eea(a, b, &x, &y, &d);
if(c % d == 0) {
x *= c / d;
y *= c / d;
fprintf(outFile, "%d %d\n", x, y);
} else {
fprintf(outFile, "0 0\n");
}
}
fclose(inFile);
fclose(outFile);
return 0;
}