Pagini recente » Cod sursa (job #2055204) | Cod sursa (job #2824760) | Cod sursa (job #1320347) | Cod sursa (job #1356511) | Cod sursa (job #2088660)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("euclid3.in");
ofstream fout ("euclid3.out");
long long cmmdc(long long a,long long b)
{
long long aux;
while (b!=0)
{
aux=a%b;
a=b;
b=aux;
}
return a;
}
int main()
{
long long T,a,x,b,y,c,d,n,m,im,r1,r2;
fin>>T;
for (int i=1;i<=T;i++)
{
/// A*X+B*Y=C
/// N*X+M*Y=C
fin>>a>>b>>c;
if (a==0||b==0)
{
y=1;
d=a+b;
if (d!=0&&c%d==0)
fout<<c/d<<" "<<c/d;
else
fout<<0<<" "<<0;
}
else
{
d=cmmdc(a,b);
n=a/d;
m=b/d;
im=c/d;
if (c%d==0)
{
if (n<m)
{
x=0;
while ((1-n*x)%m!=0)
x++;
y=(1-n*x)/m;
fout<<x*im<<" "<<y*im;
}
else
{
y=0;
while ((1-m*y)%n!=0)
y++;
x=(1-m*y)/n;
fout<<x*im<<" "<<y*im;
}
}
else
fout<<0<<" "<<0;
}
fout<<'\n';
}
return 0;
}