Cod sursa(job #1910102)
| Utilizator | Data | 7 martie 2017 15:37:58 | |
|---|---|---|---|
| Problema | Algoritmul lui Euclid extins | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <bits/stdc++.h>
using namespace std;
int solve(int a, int b, int& x, int& y){
if(b == 0){
x = 1;
y = 0;
return a;
}
int x0, y0, d;
d = solve(b, a%b, x0, y0);
x = y0;
y = x0 - (a/b)*y0;
return d;
}
int main()
{
ifstream f("euclid3.in");
ofstream g("euclid3.out");
int x, y, a, b, c, t;
f >> t;
while(t--){
f >> a >> b >> c;
int d = solve(a, b, x, y);
if(c%d)
g << "0 0\n";
else g << x*(c/d) << " " << y*(c/d) << "\n";
}
}
