Pagini recente » Diferente pentru implica-te/arhiva-educationala intre reviziile 223 si 161 | Cod sursa (job #885650) | Cod sursa (job #2604991) | Cod sursa (job #2116699) | Cod sursa (job #645346)
Cod sursa(job #645346)
#include<fstream>
#include<iostream>
using namespace std;
int euclid(int a, int b)
{
int c;
while (b) {
c = a % b;
a = b;
b = c;
}
return a;
}
int t,a,b,c;
void euclidext(int a,int b,int &x,int &y){
if( b==0){
x=1;
y=0;
}
else{
int x0,y0;
euclidext(b, a % b, x0, y0);
x = y0;
y = x0 - (a / b)*y0;
}
}
int main(){
ifstream f("euclid3.in");
ofstream g("euclid3.out");
f>>t;
int i;
for(i=1;i<=t;i++){
f>>a>>b>>c;
int d,x,y;
d=euclid(a,b);
if(c%d!=0){
g<<"0 0\n";
}
else{
euclidext(a,b,x,y);
g<<x*(c/d)<<" "<<y*(c/d)<<'\n';
}
}
return 0;
}