Cod sursa(job #2886401)

Utilizator Mihai_EduardMihai Eduard Mihai_Eduard Data 7 aprilie 2022 18:48:27
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <bits/stdc++.h>

using namespace std;

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

int gcd(int A, int B, int &X, int &Y){
    if(B==0){
        X=1;
        Y=0;
        return A;
    }
    int X0, Y0, D;
    D=gcd(B,A%B,X0,Y0);

    X=Y0;
    Y=X0-(A/B)*Y0;
    return D;
}

int main()
{
    int T;
    fin>>T;
    int A, B, C, D, X, Y;
    while(T--){
        fin>>A>>B>>C;
        D=gcd(A,B,X,Y);
        if(C%D!=0)
            fout<<0<<' '<<0<<'\n';
        else{
            X=X*(C/D);
            Y=Y*(C/D);
            fout<<X<<' '<<Y<<'\n';
        }
    }

    fin.close();
    fout.close();
    return 0;
}