Cod sursa(job #1981439)

Utilizator pistvanPeter Istvan pistvan Data 15 mai 2017 18:39:21
Problema Algoritmul lui Euclid extins Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include <fstream>

using namespace std;

int lnko(int a, int b)
{
    int r = a % b;
    while (r)
    {
        a = b;
        b = r;
        r = a % b;
    }
    return b;
}

int eucl(int a, int b, int& x, int& y)
{
    if (b == 0)
    {
        x = 1;
        y = 0;
    }
    else
    {
        int kov_a = b, kov_b = a % b , kov_x, kov_y;
        eucl(kov_a, kov_b, kov_x, kov_y);
        x = kov_y;
        y = kov_x - (a/b) * kov_y;
    }
}

int main()
{
    int t, a, b, c, d, x, y;
    ifstream fin("euclid3.in");
    ofstream fout("euclid3.out");
    fin>>t;
    while (t--)
    {
        fin>>a>>b>>c;
        d=lnko(a, b);
        if (c%d) fout<<0<<' '<<0<<'\n';
        else
        {
            eucl(a, b, x, y);
            x*= c/d;
            y*= c/d;
            fout<<x<<' '<<y<<'\n';
        }
    }
}