Cod sursa(job #2476594)

Utilizator razvanradulescuRadulescu Razvan razvanradulescu Data 19 octombrie 2019 09:57:38
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>

using namespace std;

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

int T, rez;

void read()
{
    f>>T;
}

pair<int, int> cmmdc(int a, int b)
{
    if(b == 0)
    {
        rez = a;
        return {1, 0};
    }
    auto p = cmmdc(b, a%b);
    return {p.second, p.first - (a/b)*p.second};
}

void solve()
{
    int a, b, c;
    for (int i = 0; i < T; ++i) {
        f>>a>>b>>c;
        auto p = cmmdc(a, b);
        if(c%rez==0)
        {
            p.first *= c/rez;
            p.second *= c/rez;
            g<<p.first<<" "<<p.second;
        }
        else
            g<<"0 0";
        g<<"\n";
    }
}

int main() {
    read();
    solve();
    return 0;
}