Cod sursa(job #1657739)
| Utilizator | Data | 20 martie 2016 19:19:55 | |
|---|---|---|---|
| Problema | Algoritmul lui Euclid extins | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.66 kb |
#include <fstream>
using namespace std;
int t, a, b, c, d;
ifstream f("euclid3.in");
ofstream g("euclid3.out");
int cmmdc(int A, int B, int &x, int &y)
{
if (B == 0)
{
x = 1, y = 0;
return A;
}
else
{
int xx = 0, yy = 0, d;
d = cmmdc(B, A%B, xx, yy);
x = yy;
y = xx- (A/B)*yy;
return d;
}
}
int main()
{
for (f >> t; t; t--)
{
f >> a >> b >> c;
int x = 0, y = 0;
d = cmmdc(a, b, x, y);
if (c%d > 0)
g << "0 0\n";
else
g << x*(c/d) << " " << y*(c/d) << "\n";
}
return 0;
}
