Cod sursa(job #397678)
Utilizator | Badu Badu Badu | Data | 17 februarie 2010 12:27:02 |
---|---|---|---|
Problema | Algoritmul lui Euclid extins | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.49 kb |
#include<fstream>
using namespace std;
int euclid( int A, int B, int &x, int &y){
if( B == 0 ){
x = 1;
y = 0;
return A;
}
int X0,Y0,D;
D = euclid( 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 a,b,c,n;
f>>n;
for( ; n-- ; ){
f>>a>>b>>c;
int x0,y0,D;
D = euclid(a,b,x0,y0);
if( c%D) g<<"0 0"<<'\n';
else g<<x0*(c/D)<<" "<<y0*(c/D)<<'\n';
}
return 0;
}