Cod sursa(job #2795954)

Utilizator andrei_marciucMarciuc Andrei andrei_marciuc Data 7 noiembrie 2021 12:16:09
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <stdio.h>

int GCD( int a, int b, int &x, int &y ) {
    if( !b ){
        x = 1;
        y = 0;
        return a;
    }
 
    int x0, y0, D;
    D = GCD( b, a % b, x0, y0 );
 
    x = y0;
    y = x0 - ( a / b ) * y0;
    return D;
}
 
int main()
{
    int q;
 
    FILE *fin = fopen( "euclid3.in", "r" );
    FILE *fout = fopen( "euclid3.out", "w" );
    fscanf( fin, "%d", &q );

    while( q-- ) {
        int a, b, c, xx, yy;
        fscanf( fin, "%d %d %d", &a, &b, &c );
        int d = GCD( a, b, xx, yy );
        if( c % d )
            fprintf( fout, "0 0\n" );
        else fprintf( fout, "%d %d\n", xx * ( c / d ), yy * ( c / d ) );
    }
    fclose( fin );
    fclose( fout );
    return 0;
}