Cod sursa(job #2393836)

Utilizator bogdanvladmihaiBogdan Vlad-Mihai bogdanvladmihai Data 1 aprilie 2019 09:32:18
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <bits/stdc++.h>

using namespace std;

int euclid(int &x, int &y, int a, int b)
{
    if (b == 0)
    {
        x = 1;
        y = 0;
        return a;
    }
    int ans = euclid(x, y, b, a % b);
    int aux = x;
    x = y;
    y = aux - y * (a / b);
    return ans;
}

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