Pagini recente » Cod sursa (job #2158658) | Cod sursa (job #2709485) | Cod sursa (job #1136129) | Cod sursa (job #1694297) | Cod sursa (job #2784288)
#include <iostream>
#include <fstream>
#include <tuple>
using namespace std;
ifstream fin ("euclid3.in");
ofstream fout ("euclid3.out");
tuple<long long, long long, long long> euclid(long long x, long long y)
{
if(y == 0) return make_tuple(x, 1, 0);
auto p = euclid(y, x%y);
return make_tuple(get<0>(p), get<2>(p), get<1>(p) - get<2>(p)*(x/y));
}
int main()
{
int t;
fin >> t;
for(int i = 0; i < t; i++)
{
long long a, b, c;
fin >> a >> b >> c;
auto p = euclid(a, b);
int d = get<0>(p), x = get<1>(p), y = get<2>(p);
cout << d << " "<< x << " " << y << "\n" ;
if(c%d != 0) fout << "0 0\n";
else
fout << x * c/d << " " << y * c/d << "\n";
}
return 0;
}