Cod sursa(job #2704863)

Utilizator flibiaVisanu Cristian flibia Data 11 februarie 2021 15:17:38
Problema Algoritmul lui Euclid extins Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <bits/stdc++.h>

using namespace std;

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

int t, a, b, c, x, y, d;

void euclid(int a, int b, int &d, int &x, int &y) {
    if (b == 0) {
        d = a;
        x = 1;
        y = 0;
        return;
    }

    int c = a / b; 
    euclid(b, a % b, d, x, y);

    int aux = y;
    y = x - c * y;
    x = aux;
}

int main() {
    in >> t;
    
    while (t--) {
        in >> a >> b >> c;
        d = 0;
        x = 0;
        y = 0;
        euclid(a, b, d, x, y);

        if (c % d) {
            out << "0 0\n";
        } else {
            out << x * c / d << ' ' << y * c / d << '\n';
        }
    }

    return 0;
}