Pagini recente » Cod sursa (job #2245626) | Cod sursa (job #1905795) | Cod sursa (job #70116) | Cod sursa (job #320587) | Cod sursa (job #3245295)
#include <fstream>
#include <tuple>
std::tuple<int, int, int> euclid(const int a, const int b)
{
if (b == 0)
return {1, 0, a};
const auto res = euclid(b, a%b);
int x = std::get<1>(res);
int y = std::get<0>(res) - a / b * std::get<1>(res);
int d = std::get<2>(res);
return {x, y, d};
}
int main()
{
std::ifstream in("euclid3.in");
std::ofstream out("euclid3.out");
int n; in>>n;
for(int i = 0; i < n; i++)
{
int a, b, c; in>>a>>b>>c;
int x, y, d;
std::tie(x, y, d) = euclid(a, b);
if(c % d == 0)
out<<x * c / d<<" "<<y * c / d<<"\n";
else
out<<"0 0 \n";
}
in.close();
out.close();
return 0;
}