Cod sursa(job #968201)

Utilizator andy1496Casu-Pop Andrei andy1496 Data 1 iulie 2013 21:08:12
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <cstdio>

 FILE *in=fopen("euclid3.in", "rt"), *out=fopen("euclid3.out", "w+");
 int n, a, b, c, i;
 
void euclid(int a, int b, int &d, int &x, int &y)
{
    if (b == 0) {
        d = a;
        x = 1;
        y = 0;
    }
	else {
        int x0, y0;
        euclid(b, a % b, d, x0, y0);
        x = y0;
        y = x0 - (a / b) * y0;
    }
}

int main() {
	
 int d,x,y;
 
 fscanf(in,"%d",&n);
 
 for (i=1; i<=n; i++) {
 	
 	fscanf(in, "%d %d %d", &a, &b, &c);
 	euclid (a, b, d,x, y);
 	
 	if ( c % d ) { fprintf(out, "%d %d\n", 0, 0); }
    else { fprintf(out, "%d %d\n", x * ( c / d ), y * ( c / d ));}
    
 }
 
 
 
 return 0;
}