Cod sursa(job #1571094)

Utilizator rughibemBelcineanu Alexandru Ioan rughibem Data 17 ianuarie 2016 09:50:54
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<stdio.h>

FILE *f=fopen("euclid3.in","r"), *g=fopen("euclid3.out","w");

int t, T, A, B, C, D, X, Y;

int cmmdc( int a, int b, int &x, int &y ){
int x0, y0, d;

    if( b == 0 ){
        x = 1;
        y = 0;
        return a;
    }

    d = cmmdc( b, a%b, x0, y0 );

    x = y0;
    y = x0 - (a/b) * y0;

    return d;
}

int main(){

    fscanf(f,"%d\n",&T);
    for( t=1; t<=T; t++ ){

        fscanf(f,"%d %d %d\n",&A,&B,&C);

        D = cmmdc(A,B,X,Y);

        if( C%D != 0 )
            fprintf(g,"0 0\n");

        else
            fprintf(g,"%d %d\n",X*(C/D),Y*(C/D));

    }

return 0;
}