Cod sursa(job #2580332)

Utilizator CatiCatiDervesteanu Marian Catalin CatiCati Data 13 martie 2020 15:02:05
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <cstdio>

int gcd(int a, int b, int& x, int& y){
    int x0, y0, d;

    if(b == 0){
        x = 1;
        y = 0;
        return a;
    }

    d = gcd(b,a%b,x0,y0);
    y = x0 - (a/b) * y0;
    x = y0;
    
    return d;
}

int T, a, b, c, d, x, y;
int main(){
    freopen("euclid3.out","w",stdout);
    freopen("euclid3.in","r",stdin);
    
    scanf("%i", &T);
    
    for(scanf("%i %i %i",&a,&b,&c); T; --T, scanf("%i %i %i",&a,&b,&c)){
        d = gcd(a,b,x,y);
        
        if(c%d)printf("0 0\n");
            else printf("%i %i\n",(c/d)*x,(c/d)*y);
    }
    
    return 0;
}