Cod sursa(job #2377059)

Utilizator felixiPuscasu Felix felixi Data 8 martie 2019 21:18:07
Problema Algoritmul lui Euclid extins Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <bits/stdc++.h>

using namespace std;

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

const int NMAX = 100;

int ggg(int a, int b, int &ca, int &cb)
{
    int aa = 1, bb = 1, ab = 0, ba = 0;
    while( a ) {
        int r = b / a;
        swap(a, b -= r * a);
        swap(aa, ba -= r * aa);
        swap(ab, bb -= r * ab);
    }
    ca = ba;
    cb = bb;
    return b;
}

int main()
{
    int t;
    in >> t;
    while(t--) {
        int a,b,x,y,r;
        in >> a >> b >> r;
        int gc = ggg(a, b, x, y);
        if( r % gc ) out << "0 0\n";
        else out << x * r / gc << ' ' << y * r / gc << '\n';
    }
    return 0;
}