Cod sursa(job #2299989)

Utilizator Casuneanu_StefanCasuneanu Stefan Casuneanu_Stefan Data 10 decembrie 2018 18:30:37
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.84 kb
#include <fstream>

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

int euclidextins(int a, int b, int &x, int &y);
int cmmdc (int a, int b);
int a, b, c, hm, ceva, aux, x, y, n, i;
int main()
{
    fin>>n;
    for (i=1; i<=n; i++)
    {
        fin>>a>>b>>c;
        hm=cmmdc(a, b);
        if (c%hm!=0)
            fout<<"0 0"<<'\n';
        else
        {
            ceva=c/hm;
            aux=euclidextins(a, b, x, y);
            fout<<x*ceva<<' '<<y*ceva<<'\n';
        }
    }
    return 0;
}
int euclidextins(int a, int b, int &x, int &y)
{
    int x1, y1, d;
    if (b==0)
    {
        x=1; y=0; return a;
    }
    d=euclidextins(b, a%b, x1, y1);
    x=y1;
    y=x1-(a/b)*y1;
    return d;
}
int cmmdc (int a, int b)
{
    if (b==0) return a;
    return cmmdc (b, a%b);
}