Cod sursa(job #2268632)
Utilizator | Data | 25 octombrie 2018 01:04:14 | |
---|---|---|---|
Problema | Algoritmul lui Euclid extins | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include<fstream>
using namespace std;
ifstream f("euclid3.in");
ofstream g("euclid3.out");
int gcd( int A, int B, int &X, int &Y )
{
if (B == 0)
{
X = 1;
Y = 0;
return A;
}
int X0, Y0, D;
D = gcd( B, A % B, X0, Y0 );
X = Y0;
Y = X0 - (A / B) * Y0;
return D;
}
int main()
{
int t,i,A,B,C,D,X,Y;
f>>t;
for(i=1;i<=t;i++)
{
f>>A>>B>>C;
D=gcd(A,B,X,Y);
if(C%D)
g<<"0 0\n";
else
g<<X*(C/D)<<" "<<Y*(C/D)<<"\n";
}
}