Cod sursa(job #688089)
Utilizator | Data | 22 februarie 2012 23:50:11 | |
---|---|---|---|
Problema | Algoritmul lui Euclid extins | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include <fstream>
using namespace std;
ifstream fin("euclid3.in");
ofstream fout("euclid3.out");
int gcd(int a,int b,int &x,int &y)
{
if(b == 0) {
x = 1 , y = 0;
return a;
}
int x0 , y0;
int d = gcd(b,a%b,x0,y0);
x = y0;
y = x0 - (a/b)*y0;
return d;
}
int main()
{
int T , A , B , C , D , X , Y;
for(fin>>T;T;T--)
{
fin>>A>>B>>C;
D = gcd(A,B,X,Y);
if(C % D) fout<<"0 0\n";
else
fout<<X * (C/D)<<" "<<Y * (C/D)<<'\n';
}
return 0;
}