Pagini recente » Monitorul de evaluare | Cod sursa (job #586049) | Monitorul de evaluare | Cod sursa (job #1978311) | Cod sursa (job #3323112)
#include <fstream>
using namespace std;
ifstream cin("euclid3.in");
ofstream cout("euclid3.out");
void euclid(long long a,long long b,long long *x,long long *y){
if(b==0){
*x=1;
*y=0;
}else{
long long x0,y0;
euclid(b,a%b,&x0,&y0);
*x=y0;
*y=x0-(a/b)*y0;
}
}
long long gcd(long long a,long long b){
while(b){
int r=a%b;
a=b;
b=r;
}
return a;
}
int main(){
int t,a,b,c;
long long x,y;
cin>>t;
while(t--){
cin>>a>>b>>c;
long long d=gcd(a,b);
long long k=c/d;
x=y=0;
if(c%d==0){
euclid(a,b,&x,&y);
x*=k;
y*=k;
}
cout<<x<<" "<<y<<"\n";
}
return 0;
}