Cod sursa(job #877971)
Utilizator | Data | 13 februarie 2013 16:48:20 | |
---|---|---|---|
Problema | Algoritmul lui Euclid extins | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.63 kb |
#include<fstream>
using namespace std;
ifstream f("euclid3.in");
ofstream g("euclid3.out");
int a,b,c,t,x,y,d;
void cmmdc(int a,int b, int *d ,int *x , int *y){
if(b==0) {
d=0;
*x=1;
*y=0;
}
else{
int x0,y0;
cmmdc(b,a%b,d,&x0,&y0);
*x=y0;
*y=x0-(a/b)*y0;
}
}
int main () {
f>>t;
for(;t;--t)
{
f>>a>>b>>c;
cmmdc(a,b,&d,&x,&y);
if(c%d==0){
g<<(c/d)*x<<" "<<(c/d)*y<<"\n";
}
else{
g<<"0"<<"0"<<"\n";
}
}
return 0;
}