Cod sursa(job #1207870)

Utilizator gerd13David Gergely gerd13 Data 14 iulie 2014 10:41:40
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include <fstream>
#include <assert.h>

using namespace std ;

const int NMAX = 100 ;
const int INF = 0x3f3f3f3f ;

ifstream cin("euclid3.in") ;
ofstream cout("euclid3.out") ;

int T, A, B, C;


inline int euc_ext(int a, int b, int &X, int &Y)
{
    if( b == 0)
    {

        X = 1 ;
        Y = 0 ;
        return a ;
    }

    int X0, Y0, rezultat ;
    rezultat = euc_ext(b, a % b, X0, Y0) ;

    X = Y0 ;
    Y = X0 - (a / b) * Y0 ;

    return rezultat ;
}


int main()
{
    cin >> T ;


    while(T)
    {
       cin >> A >> B >> C;
       int euclid, X , Y;
       euclid = euc_ext(A, B, X, Y) ;

       if ( C % euclid )
        cout << '0' << ' '<< '0' << '\n' ;

       else cout << X  * (C / euclid ) << ' ' << Y * ( C / euclid ) << '\n' ;

   -- T ;
    }

    cin.close() ;
    cout.close() ;
    return 0 ;
}