Pagini recente » Cod sursa (job #382617) | Cod sursa (job #2853592) | Rating Adrian Tutunaru (Qwerty0606) | Cod sursa (job #1870514) | Cod sursa (job #2336751)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("euclid3.in");
ofstream g ("euclid3.out");
void rezolvare();
//int divizor(int a, int b) {
// int r = 1;
// while(r != 0) {
// r = a % b;
// a = b;
// b = r;
// }
// return a;
//}
void algoritm(int a, int b, int &d, int &x, int &y) {
// Daca se ajunge la capatul algoritmului, se livreaza solutiile
// x = 1 si y = 0
if (b == 0) {
d = a;
x = 1;
y = 0;
}
else {
int x0, y0;
algoritm(b, a%b, d, x0, y0);
x = y0;
y = x0 - (a/b)*y0;
}
}
int main()
{
rezolvare();
return 0;
}
void rezolvare() {
int n;
int a, b, c;
int d, x, y;
f >> n;
for(int i = 1; i <= n; ++i) {
f >> a >> b >> c;
algoritm(a, b, d, x, y);
if (c%d == 0)
g << x*(c/d) << ' ' << y*(c/d) << '\n';
else
g << 0 << ' ' << 0 << '\n';
}
}