Cod sursa(job #2909695)
Utilizator | Vlad Martiniuc vladiii | Data | 14 iunie 2022 18:39:28 |
---|---|---|---|
Problema | Algoritmul lui Euclid extins | Scor | 30 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("euclid3.in");
ofstream g("euclid3.out");
void euclid(int a, int b, int& d, int& x, int& y) {
if (b == 0) {
d = a;
x = 1;
y = 0;
}
else {
int px, py;
euclid(b, a % b, d, px, py);
x = py;
y = px - (a / b) * py;
}
}
int main() {
int t; f >> t;
while (t) {
int a, b, c, d, x = 0, y = 0;
f >> a >> b >> c;
euclid(a, b, d, x, y);
if (c % d) g << "0 0";
else
g << x * (c / d) << " " << y * (c / d) << endl;
t--;
}
}