Cod sursa(job #743092)
Utilizator | Data | 3 mai 2012 09:19:48 | |
---|---|---|---|
Problema | Algoritmul lui Euclid extins | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include <cstdio>
FILE *f,*g;
int a,b,c,d,X,Y,T,i;
void extins(int a,int b,int &X ,int &Y) {
if (b==0) {
d=a;
X=1;
Y=0;
return ;
}
int X0,Y0;
extins(b,a%b,X0,Y0);
X=Y0;
Y=X0-(a/b)*Y0;
}
int main() {
f=fopen("euclid3.in","r");
g=fopen("euclid3.out","w");
fscanf(f,"%d",&T);
for (i=1;i<=T;i++) {
fscanf(f,"%d%d%d",&a,&b,&c);
extins(a,b,X,Y);
if (c%d)
fprintf(g,"0 0\n");
else
fprintf(g,"%d %d\n",X*(c/d),Y*(c/d) );
}
fclose(g);
return 0;
}