Pagini recente » Cod sursa (job #2918989) | Cod sursa (job #2695417) | Cod sursa (job #614168) | Cod sursa (job #49340) | Cod sursa (job #2413921)
#include <fstream>
using namespace std;
ifstream fi("euclid3.in");
ofstream fo("euclid3.out");
int T;
long long a,b,c,d;
long long ma,mb;
long long x,y;
long long modul(long long x)
{
if (x>=0)
return x;
else
return -x;
}
void extins(long long a, long long b, long long &d, long long &x, long long &y)
{
if (b==0)
{
d=a;
x=1;
y=0;
}
else
{
long long x1,y1;
extins(b,a%b,d,x1,y1);
x=y1;
y=x1-(a/b)*y1;
}
}
int main()
{
fi>>T;
for (int test=1;test<=T;test++)
{
fi>>a>>b>>c;
ma=modul(a);
mb=modul(b);
extins(ma,mb,d,x,y);
if (ma!=a)
x=-x;
if (mb!=b)
y=-y;
if (c%d!=0)
fo<<"0 0\n";
else
{
x=x*(c/d);
y=y*(c/d);
fo<<x<<" "<<y<<"\n";
}
}
fi.close();
fo.close();
return 0;
}