Pagini recente » Cod sursa (job #291358) | Cod sursa (job #582869) | Cod sursa (job #2671392) | Cod sursa (job #1181012) | Cod sursa (job #963970)
Cod sursa(job #963970)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("euclid3.in");
ofstream g("euclid3.out");
/*
* File: euclid.h
* Author: Victor
*
* Created on June 19, 2013, 5:12 PM
*/
#ifndef EUCLID_H
#define EUCLID_H
pair<int,int> operator-(pair<int,int> a, pair<int,int> b){
return make_pair(a.first-b.first,a.second-b.second);
}
pair<int,int> operator*(int q, pair<int,int> a){
return make_pair(q*a.first,q*a.second);
}
class euclid{
public:
int gcd(pair<int,int>&dd,int a,int b){
int q,r;
pair<int,int> v, v0(1,0), v1(0,1);
while(b!=0){
q=a/b;
r=a%b;
a=b;
b=r;
v=v0;
v0=v1;
v1=v-q*v1;
}
dd=v0;
return a;
}
};
#endif /* EUCLID_H */
euclid a;
int n;
int main(){
int x,y,z,d;
pair<int,int>pp;
f >> n;
while(n--){
f >> x >> y >> z;
d = a.gcd(pp,x,y);
if(z%d!=0) cout << "0 0\n"; else
g << pp.first*(z/d) << " " << pp.second*(z/d) << "\n";
}
return 0;
}