Pagini recente » Cod sursa (job #1775336) | Cod sursa (job #1335451) | Borderou de evaluare (job #2051290) | Cod sursa (job #1840444) | Cod sursa (job #575746)
Cod sursa(job #575746)
#include<fstream>
using namespace std;
long long euclid(long long a, long long b, long long &s, long long &t) {
long long c, r, t1, t2, s1, s2;
if(b == 0) {
s = 1; t = 0;
return a;
}
s1 = 1; s2 = 0;
t1 = 0; t2 = 1;
r = a % b; c = a / b;
while(r) {
s = s1 - s2 * c; s1 = s2; s2 = s;
t = t1 - t2 * c; t1 = t2; t2 = t;
a = b; b = r; r = a % b; c = a / b;
}
return b;
}
int main()
{
long long n, i, a, b, c, s, t, d;
ifstream f("euclid3.in");
ofstream g("euclid3.out");
f >> n;
for(i = 1; i <= n; ++i)
{
f >> a >> b >> c;
d = euclid(a, b, s, t);
if(c % d != 0)
g << "0 0\n";
else
g << s * (c / d) << ' ' << t * (c / d) << '\n';
}
g.close();
return 0;
}