Cod sursa(job #655700)
Utilizator | Data | 3 ianuarie 2012 13:07:00 | |
---|---|---|---|
Problema | Algoritmul lui Euclid extins | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.55 kb |
#include <stdio.h>
long aa, bb, xx, yy, a1, b1, r, c, d, ii, t;
int euclid(long a, long b, long &x, long &y)
{
long x0, y0, div;
if (b==0)
{ x=1; y=0; div=a;}
else
{
div=euclid(b,a%b,x0,y0);
x=y0;
y=x0-(a/b)*y0;
}
return div;
}
int main()
{
freopen("euclid3.in","r",stdin);
freopen("euclid3.out","w",stdout);
scanf("%ld",&t);
for (ii=1;ii<=t;ii++)
{
scanf("%ld %ld %ld",&aa, &bb, &c);
d=euclid(aa,bb,xx,yy);
if (c%d==0)
printf("%ld %ld\n",xx*(c/d),yy*(c/d));
else
printf("0 0\n");
}
return 0;
}