Cod sursa(job #1900338)

Utilizator 1475369147896537415369Andrei Udriste 1475369147896537415369 Data 3 martie 2017 12:15:11
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <stdio.h>

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(){

    freopen("euclid3.in", "r", stdin);
    freopen("euclid3.out", "w", stdout);

    int T, A, B, C, D, X, Y;
    scanf("%d", &T);

    while(T--){
        scanf("%d %d %d", &A, &B, &C);
        D = gcd(A, B, X, Y);

        if(C % D) printf("0 0\n");
        else printf("%d %d\n", X * (C / D), Y * (C / D));
    }
    return 0;
}