Cod sursa(job #1645194)

Utilizator arhivamanArhiva Man arhivaman Data 10 martie 2016 11:25:43
Problema Algoritmul lui Euclid extins Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>

using namespace std;
ifstream fin("euclid3.in");
ofstream fout("euclid3.out");
int euclid(int A, int B, int &X, int &Y)
{
    if(B==0)
    {
        X=1;
        Y=0;
        return A;
    }
    int X0, Y0, D;
    D=euclid(B, A%B, X0, Y0);
    X=Y0;
    Y=X0-(A/B)*Y0;
    return D;
}
int main()
{
    int t, A, B, C;
    fin>>t;
    while(t--)
    {
        fin>>A>>B>>C;
        int D, X, Y;
        D=euclid(A, B, X, Y);
        if(C%D==0)
            fout<<X*(C/D)<<" "<<Y*(C/D)<<'\n';
        else
            fout<<-1<<'\n';
    }
    return 0;
}