Pagini recente » Cod sursa (job #1647407) | Cod sursa (job #1842424) | Cod sursa (job #389236) | Cod sursa (job #1681404) | Cod sursa (job #3039034)
#include <fstream>
#include <assert.h>
using namespace std;
ifstream f("euclid3.in");
ofstream g("euclid3.out");
int t;
inline int euclid( int A, int B, int &X, int &Y )
{
if (B == 0)
{
X = 1;
Y = 0;
return A;
}
int X0, Y0, D;
D = euclid( B, A % B, X0, Y0 );
X = Y0;
Y = X0 - (A / B) * Y0;
return D;
}
void solve()
{
int a, b, c;
f>>a>>b>>c;
assert( -1000000000 <= a && a <= 1000000000 );
assert( -1000000000 <= b && b <= 1000000000 );
assert( -2000000000 <= c && c <= 2000000000 && c != 0 );
int d, x, y;
d = 0;
x = 0;
y = 0;
d = euclid(a, b, x, y);
if(c % d == 0)
{
g<<x*(c/d)<<" "<<y*(c/d)<<'\n';
}
else
{
g<<0<<'\n';
}
}
int main()
{
f>>t;
while(t--)
{
solve();
}
return 0;
}