Cod sursa(job #185987)

Utilizator adrian69adrian horia adrian69 Data 26 aprilie 2008 15:08:55
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include<stdio.h>
 void bla(int a, int b, int *d, int *x, int *y)  
 {  
     if (b == 0) {  
         *d = a;  
         *x = 1;  
         *y = 0;  
     } else {  
         int x0, y0;  
         bla(b, a % b, d, &x0, &y0);  
         *x = y0;  
         *y = x0 - (a / b) * y0;  
     }  
 }  
int main()
{ FILE *f,*g;
 f=fopen("euclid3.in","r");
 g=fopen("euclid3.out","w");
 int a,b,c,x,y,d,n;   
 fscanf(f,"%d",&n);
 while(n)
  {fscanf(f,"%d %d %d",&a,&b,&c);
  	 bla(a,b,&d,&x,&y);
  	 if(c%d)
  	  fprintf(g,"0 0\n");
  	  else
  	 fprintf(g,"%d %d\n",x*(c/d),y*(c/d));
  	n--;
  	}
 fclose(f);
 fclose(g); 
}