Cod sursa(job #1348529)

Utilizator Burbon13Burbon13 Burbon13 Data 19 februarie 2015 19:00:34
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include <iostream>
#include <cstdio>

using namespace std;

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

int main()
{
    int a , b , c , x , y , d ;
    int n ;
    freopen( "euclid3.in" , "r" , stdin ) ;
    freopen( "euclid3.out" , "w" , stdout ) ;
    scanf( "%d" , &n ) ;
    for ( int i = 1 ; i <= n ; i ++ )
    {
        scanf( "%d %d %d" , &a , &b , &c ) ;
        x = 0 , y = 0 ;
        d = euclid( a , b , x , y ) ;
        if ( c % d )
            printf( "0 0\n" ) ;
        else
            printf( "%d %d\n" , x*(c/d) , y*(c/d) ) ;
    }
    return 0;
}