Cod sursa(job #1459317)

Utilizator uacyUntesu Albert uacy Data 9 iulie 2015 16:16:22
Problema Algoritmul lui Euclid extins Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.6 kb
#include <stdio.h>

void euclidextins(int a, int b, int *d, int *x, int *y){
    if (b == 0) {
        *d = a;
        *x = 1;
        *y = 0;
    } else {
        int x0, y0;
        euclidextins(b, a % b, d, &x0, &y0);
        *x = y0;
        *y = x0 - (a / b) * y0;
    }
}

int main(){

	FILE *fi = fopen("euclid3.in","r");
	FILE *fo = fopen("euclid3.out","w");
	int a,b,c,T,i;

	fscanf(fi,"%d\n",&T);

	for(i = 0; i < T; ++i){
		fscanf(fi,"%d%d%d\n",&a,&b,&c);
		int x,y,d;
		euclidextins(a,b,&d,&x,&y);
		
		if(c % d) fprintf(fo,"0 0\n");
		else fprintf(fo,"%d %d\n",(x * (c / d)),(y * (c / d)));
	}
	return 0;
}