Cod sursa(job #1098874)

Utilizator Maxim97Maxim Andrei Maxim97 Data 5 februarie 2014 12:10:57
Problema Algoritmul lui Euclid extins Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>

using namespace std;

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

int T;
long long a,b,c;

int euclid(int a, int b, int &x, int &y)
{
    int c,x0,y0;
    if(!b)
    {
        x=1;
        y=0;
        return a;
    }
    c=euclid(b, a%b,x0,y0);
    x=y0;
    y=x0-y0*(a/b);
    return c;
}

int main()
{
    int x,y,p,e;
    in>>T;
    while(T)
    {
        T--;
        in>>a>>b>>c;
        e=euclid(a,b,x,y);
        if(c%e)
        {
            o<<x<<' '<<y<<'\n';
        }
        else
            o<<x*(c/e)<<" "<<y*(c/e)<<'\n';
    }
    in.close();
    o.close();
    return 0;
}