Pagini recente » Cod sursa (job #3216903) | Cod sursa (job #886417) | Cod sursa (job #2704347) | Cod sursa (job #1706219) | Cod sursa (job #2539665)
/**
*Se dau T ecuatii de forma a * x + b * y = c, cu coeficientii a, b si c.
*Pentru fiecare dintre aceste ecuatii se cere aflarea unei perechi de
*numere intregi x y care sa satisfaca ecuatia, in cazul in care o astfel de pereche exista.
*/
#include <iostream>
#include <fstream>
using namespace std;
void euclid(int a, int b, int *d, int *x, int *y)
{
if(!b)
{
*d = a;
*x = 1;
*y = 0;
}
else
{
int x0, y0;
euclid(b, a%b, d, &x0, &y0);
*x = y0;
*y = x0 - y0*(a/b);
}
}
int main()
{
ifstream f("euclid3.in");
ofstream g("euclid3.out");
int t; f >> t;
for(int i = 0; i < t; i++)
{
int a, b, c, x, y, d;
f >> a >> b >> c;
euclid(a, b, &d, &x, &y);
if(c%d)
g << "0 0\n";
else{
g << x*(c/d) << " " << y*(c/d) << endl;
}
}
return 0;
}