Pagini recente » Cod sursa (job #2280414) | Diferente pentru home intre reviziile 310 si 311 | Cod sursa (job #1090914) | Diferente pentru home intre reviziile 337 si 338 | Cod sursa (job #2057646)
#include <iostream>
#include <fstream>
using namespace std;
#define maxim(a,b) ((a>b)?a:b)
ifstream inf("euclid3.in");
ofstream oinf("euclid3.out");
long extendedEuclid(long a,long b,long &x, long &y){
if(b==0){
x=1;
y=0;
return a;
}else {
long x0,y0,d;
d = extendedEuclid(b,a%b,x0,y0);
x=y0;
y=x0-(a/b)*y0;
return d;
}
}
int main()
{
long a,b,z,d,n,x,y;
inf>>n;
for(int i=1;i<=n;i++){
inf>>a>>b>>z;
d=extendedEuclid(a,b,x,y);
if(z%d==0)
oinf<<x*(z/d)<<" "<<y*(z/d)<<"\n";
else
oinf<<0<<" "<<0<<"\n";
}
return 0;
}