Pagini recente » Cod sursa (job #1559316) | Cod sursa (job #1936194) | Cod sursa (job #2939148) | Cod sursa (job #954672) | Cod sursa (job #650934)
Cod sursa(job #650934)
#include <cstdio>
using namespace std;
int GCD (int A, int B, int &X, int &Y)
{
if (B==0)
{
X=1;
Y=0;
return A;
}
int X0, Y0, D;
D=GCD (B, A%B, X0, Y0);
X=Y0;
Y=X0-(A/B)*Y0;
return D;
}
int main()
{
freopen ("oak.in", "r", stdin);
freopen ("oak.out", "w", stdout);
int T;
scanf ("%d", &T);
for (; T>0; --T)
{
int A, B, C;
scanf ("%d %d %d", &A, &B, &C);
int D, X, Y;
D=GCD (A, B, X, Y);
if (C%D)
{
printf ("-1\n");
}
else
{
printf ("%d\n", X*(C/D)+Y*(C/D));
}
}
return 0;
}