Cod sursa(job #1931122)

Utilizator darian2001Clodnischi Darian Antonio darian2001 Data 19 martie 2017 12:36:02
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
using namespace std;

ifstream f("euclid3.in");
ofstream g("euclid3.out");

long euclid(long a,long b,long &X,long &Y)
{
    if(b!=0)
    {
        long X0,Y0,D;
        D=euclid(b,a%b,X0,Y0);
        X=Y0;
        Y=X0-Y0*(a/b);
        return D;
    }
    else
    {
        X=1;
        Y=0;
        return a;
    }
}

int main()
{
    int t;
    f>>t;
    for(int i=0;i<t;i++)
    {
    long a,b,c;
    f>>a>>b>>c;
    long D,X,Y;
    D=euclid(a,b,X,Y);
    if(c%D==0)
        g<<X*(c/D)<<" "<<Y*(c/D)<<"\n";
    else
        g<<"0 0\n";
    }
    f.close();
    g.close();
}