Cod sursa(job #1922740)

Utilizator PaulStighiStiegelbauer Paul-Alexandru PaulStighi Data 10 martie 2017 18:41:04
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include<fstream>
using namespace std;
ifstream fin("euclid3.in");
ofstream fout("euclid3.out");

int T,a,b,c;

int cmmdc(int A,int B)
{
    int R;
    while(B)
    {
        R = A % B;
        A = B;  B = R;
    }

    return A;
}

void euclid(int a,int b,int &x,int &y)
{
    if(!b)
    {   x = 1;  y = 0;  }
    else
    {
        int x1,y1;
        euclid(b,a%b,x1,y1);
        x = y1;
        y = x1 - (a / b) * y1;
    }
}

int main()
{
    fin>>T;

    while(T--)
    {
        fin>>a>>b>>c;

        int e = cmmdc(a,b);

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

    fin.close();
    fout.close();
    return 0;
}