Cod sursa(job #2548405)

Utilizator Tudor06MusatTudor Tudor06 Data 16 februarie 2020 16:59:15
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int main() {
    ifstream fin( "euclid3.in" );
    ofstream fout( "euclid3.out" );
    long long n, a, b, c, d, x, y;
    fin >> n;
    for ( int i = 0; i < n; i ++ ) {
        fin >> a >> b >> c;
        d = x = y = 0;
        euclid( a, b, d, x, y );
        if ( c % d == 0 ) {
            fout << x * c / d << ' ' << y * c / d;
        } else
            fout << '0' << ' ' << '0';
        fout << '\n';
    }
    return 0;
}