Pagini recente » Profil TeoRoGaming | Istoria paginii utilizator/cristia_razvan | Profil Florian | Profil Mike | Cod sursa (job #1996543)
#include <fstream>
#include <iostream>
#include <algorithm>
#include <tuple>
using namespace std;
tuple<int, int, int> gcd(int a, int b) {
if (b == 0) {
return make_tuple(a, 1, 0);
} else {
const auto& x = gcd(b, a % b);
return make_tuple(get<0>(x),
get<2>(x),
get<1>(x) - get<2>(x) * (a / b));
}
}
int main() {
#ifdef INFOARENA
ifstream cin("euclid3.in");
ofstream cout("euclid3.out");
#endif
int num_tests; cin >> num_tests;
while (num_tests--> 0) {
int a, b, c; cin >> a >> b >> c;
const auto& gcd_values = gcd(a, b);
if (c % get<0>(gcd_values)) {
cout << "0 0\n";
} else {
cout << get<1>(gcd_values) * c / get<0>(gcd_values) << ' '
<< get<2>(gcd_values) * c / get<0>(gcd_values) << '\n';
}
}
}