Cod sursa(job #1257727)

Utilizator Alex_SimionSimion Alexandru Alex_Simion Data 8 noiembrie 2014 09:52:34
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
#define tip long long
using namespace std;
ifstream f("euclid3.in");
ofstream g("euclid3.out");
tip t,a,b,c,d,x,y,cmmdc(tip,tip,tip&,tip&);
int main()
{
    f>>t;
    for(;t;t--)
    {
        f>>a>>b>>c;
        d=cmmdc(a,b,x,y);
        if(c%d)
        {
            g<<"0 0\n";
            continue;
        }
        c/=d;
        x*=c;y*=c;
        g<<x<<' '<<y<<'\n';
    }
    return 0;
}
tip cmmdc(tip a,tip b,tip &x,tip &y)
{
    if(b==0)
    {
        x=1;y=0;return a;
    }
    tip A,B,C,X,Y,D;
    A=b;B=a%b;D=cmmdc(A,B,X,Y);
    C=a/b;x=Y;y=X-C*Y;
    return D;
}