Cod sursa(job #380865)
Utilizator | melnic vlad deeprogress | Data | 7 ianuarie 2010 23:07:06 |
---|---|---|---|
Problema | Algoritmul lui Euclid extins | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include <fstream.h>
ifstream f("euclid3.in");
ofstream g("euclid3.out");
int main ()
{
int a,b;
int n;
f>>n;
while(n)
{
f>>a>>b>>d;
g<<'\n';
euclid (int a, int b, int&d, int&x, int&y);
n--;
}
f.close();
g.close();
return 0;
}
void euclid (int a, int b, int&d, int&x, int &y)
{
if(b==0)
{
&d=a;
&x=1;
&y=0;
}
else
{
int x0,y0;
euclid(b, a%b, d, &x0, &y0);
&x=y0;
&y=x0-(a/b)*y0;
}
g<<x<<' '<<y;
}