Pagini recente » Cod sursa (job #2026363) | Cod sursa (job #2643444) | Cod sursa (job #2563805) | Cod sursa (job #2036583) | Cod sursa (job #2519619)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("euclid3.in");
ofstream fout("euclid3.out");
int euclidExtins(int a, int b, int& lastX, int& lastY)
{
int x = 0, y = 1, q; lastX = 1; lastY = 0;
// variabile temporare
int tA, tX, tY;
while(b != 0)
{
q = a / b; // aveti grija ca a > b
tA = b; b = a % b; a = tA;
tX = x; x = lastX - q * x; lastX = tX;
tY = y; y = lastY - q * y; lastY = tY;
}
return a;
}
int main()
{
int a, b, c, n, nr, x, y;
fin >> n;
for(int i = 1; i <= n; i++)
{
fin >> a >> b >> c;
nr = euclidExtins(a, b, x, y);
nr = c / nr;
if(x * nr * a + y * nr * b == c)
fout<< x*nr << ' ' << y*nr << '\n';
else
fout<<0<<' '<<0<<'\n';
}
return 0;
}