Cod sursa(job #875313)

Utilizator BeilandArnoldArnold Beiland BeilandArnold Data 9 februarie 2013 21:54:05
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>

long long euclext(long long a, long long b, long long *x, long long *y){
    if(b==0){
        *x=1;
        *y=0;
        return a;
    }
    else{
        long long D,x0,y0;
        D=euclext(b,a%b,&x0,&y0);
        *x=y0;
        *y=x0-(a/b)*y0;
        return D;
    }
    return 0;
}

int main(){
    std::ifstream fin("euclid3.in");
    std::ofstream fout("euclid3.out");

    int T;  fin>>T;
    while(T--){
        long long a,b,c;
        fin>>a>>b>>c;
        long long D,x,y;
        D=euclext(a,b,&x,&y);
        if(c%D) fout<<"0 0\n";
        else fout<<x*c/D<<' '<<y*c/D<<'\n';
    }
}