Cod sursa(job #2626535)

Utilizator VictorVrabieVrabie Victor VictorVrabie Data 6 iunie 2020 19:21:33
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <cstdio>
#include <algorithm>

int gcd(int a, int b, int& x, int& y)
{
    if (a == 0)
    {
        x = 0;
        y = 1;
        return b;
    }

    int x_{}, y_{}, d{};

    d = gcd(b % a, a, x_, y_);

    x = (y_ - (b / a) * x_);
    y = x_;
    return d;
}



int main(){

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

    int t{}, a{}, b{}, c{}, x{}, y{};
    scanf("%d", &t);

    while (t--)
    {
        scanf("%d%d%d", &a, &b, &c);
        int 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;
}