Pagini recente » Cod sursa (job #99823) | Cod sursa (job #1077687) | Cod sursa (job #3001927) | Cod sursa (job #2454162) | Cod sursa (job #1988215)
#include <stdio.h>
FILE* fin;
FILE* fout;
int t;
void LoadFiles()
{
fin = fopen("euclid3.in", "r");
fout = fopen("euclid3.out", "w");
return;
}
void ReadLine(int& a, int& b, int& c)
{
fscanf(fin, "%d %d %d", &a, &b, &c);
return;
}
inline int GCD(int a, int b, int& x, int& y)
{
if (b == 0)
{
x = 1;
y = 0;
return a;
}
int x0, y0, d;
d = GCD(b, a % b, x0, y0);
x = y0;
y = x0 - (a / b) * y0;
return d;
}
inline void WriteOutput(int x, int y)
{
fprintf(fout, "%d %d\n", x, y);
return;
}
void Solve()
{
int a, b, c;
int d;
int x, y;
fscanf(fin, "%d", &t);
for (int i = 0; i < t; i++)
{
ReadLine(a, b, c);
d = GCD(a, b, x, y);
if (c % d)
{
WriteOutput(0, 0);
}
else
{
WriteOutput(x * (c / d), y * (c / d));
}
}
return;
}
void CloseFiles()
{
fclose(fin);
fclose(fout);
return;
}
int main(void)
{
LoadFiles();
Solve();
CloseFiles();
return 0;
}