Cod sursa(job #2590358)

Utilizator Robert.BrindeaBrindea Robert Robert.Brindea Data 27 martie 2020 19:40:24
Problema Algoritmul lui Euclid extins Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.87 kb
#include <iostream>
#include <fstream>

using namespace std;

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

class Grup
{
public:
    int d, x, y;
    Grup(){};
    Grup(int dd, int xx, int yy)
    {
        d = dd;
        x = xx;
        y = yy;
    }
};

Grup euclid (int a, int b)
{
    if(b == 0)
    {
        Grup rez = Grup(a, 1, 0);
        return rez;
    }
    Grup d = euclid(b, a%b);
    int x, y;
    x = d.y;
    y = d.x - (a/b)*d.y;
    d.x = x;
    d.y = y;
    return d;
}

int main()
{
    int n;
    fin >> n;
    for(int i = 0; i < n; i++)
    {
        Grup rez;
        int a, b, c;
        fin >> a >> b >> c;
        rez = euclid(a, b);
        if(c%rez.d != 0)
            fout << "0 0\n";
        else
            fout << rez.x*c/rez.d << " " << rez.y*c/rez.d << "\n";
    }
    return 0;
}