Pagini recente » Borderou de evaluare (job #1167188) | Cod sursa (job #2412585) | Borderou de evaluare (job #1522356) | Borderou de evaluare (job #1326435) | Cod sursa (job #3232822)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("euclid3.in");
ofstream fout("euclid3.out");
void euclid(long long a, long long b, long long *d, long long *x, long long *y)
{
if(b == 0){
*d = a;
*x = 1;
*y = 0;
}
else{
long long x0, y0;
euclid(b, a % b, d, &x0, &y0);
*x = y0;
*y = x0 - (a / b) * y0;
}
}
int main()
{
long long a,b,c,x,y,T,d;
fin>>T;
while(T--)
{
fin>>a>>b>>c;
euclid(a,b,&d,&x,&y);
if(c % d){//Dacxa divizorul comun nu se divide cu c citit, care ar trebui sa fie divizorul comun nu exista solutie, deoarece algoritmul ne ofera divizorul comun
x = 0;
y = 0;
}
else{
x *= c/d;
y *= c/d;
}
fout<<x<<" "<<y;
}
return 0;
}