Cod sursa(job #2231747)

Utilizator bogdanf555Fuia Bogdan bogdanf555 Data 15 august 2018 19:57:09
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int a, b, c, Q;
unsigned short int T;

int euclid(int a, int b) {

    if(b == 0)
        return a;
    else
        euclid(b, a % b);
}

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

int main()
{
    fin >> T;
    for(int i = 1; i <= T; i++) {
        fin >> a >> b >> c;

        if(c % euclid(a, b) != 0)
            fout << 0 << ' ' << 0 << '\n';
        else {
            int x = 0, y = 0, d = 0;
            euclid(a, b, x, y, d);
            fout << x * (c / d) << ' ' << y * (c / d)<< '\n';
        }
    }
    return 0;
}