Cod sursa(job #260039)
| Utilizator | Data | 16 februarie 2009 13:39:17 | |
|---|---|---|---|
| Problema | Algoritmul lui Euclid extins | Scor | 50 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
#include<fstream.h>
int a,b,c,x,y,d,n,i;
int euclid(int a, int b, int &x, int &y)
{ int xp,yp,d;
if(!b) { x=1; y=0; return a;}
d=euclid(b,a%b,xp,yp);
x=yp;
y=xp-(a/b)*yp;
return d;
}
int main()
{
ifstream f("euclid3.in");
ofstream g("euclid3.out");
f>>n;
for(i=1;i<=n;i++)
{ f>>a>>b>>c;
d=euclid(a,b,x,y);
if(c%d) g<<"0 0"<<'\n';
else { x=x*c/d; y=y*c/d; g<<x<<" "<<y<<'\n';}
}
f.close();
g.close();
return 0;
}