Pagini recente » Cod sursa (job #2874380) | Cod sursa (job #719574) | Cod sursa (job #2778473) | Cod sursa (job #1989157) | Cod sursa (job #1978242)
#include <fstream>
#include <stdint.h>
using namespace std;
fstream f1("euclid3.in", ios::in);
fstream f2("euclid3.out", ios::out);
int16_t teste;
int32_t a, b, c, d;
int32_t q, r0, r1, r, s0, s1, s, t0, t1, t;
///d=cmmdc(a, b)
int main()
{
int16_t i;
f1>>teste;
for(i=1; i<=teste; i++)
{
f1>>a>>b>>c;
if((a!=0)&&(b!=0))
{
r0=a; r1=b;
s0=1; s1=0;
t0=0; t1=1;
do
{
q=r0/r1;
r=r0-r1*q;
s=s0-s1*q;
t=t0-t1*q;
r0=r1; s0=s1; t0=t1;
r1=r; s1=s; t1=t;
}
while(r!=0);
d=r0;
if(c%d==0) f2<<s0*(c/d)<<" "<<t0*(c/d)<<"\n";
else f2<<0<<" "<<0<<"\n";
}
else
{
if((a==0)&&(b==0)) f2<<0<<" "<<0<<"\n";//nu ai sol, c!=0
else if(a==0)
{
if(c%b==0) f2<<0<<" "<<c/b<<"\n";
else f2<<0<<" "<<0<<"\n";
}
else if(b==0)
{
if(c%a==0) f2<<c/a<<" "<<0<<"\n";
else f2<<0<<" "<<0<<"\n";
}
}
}
return 0;
}