Cod sursa(job #2221581)

Utilizator claudiu.gatinaFMI Claudiu Gatina claudiu.gatina Data 14 iulie 2018 22:11:32
Problema Algoritmul lui Euclid extins Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include <iostream>
#include <cstdio>
#include <algorithm>

using namespace std;

int euclid3(int a, int b, int &x, int &y)
{
    if(b == 0)
    {
        x = 1;
        y = 0;
        return a;
    }
    else
    {
        int x1, y1;
        int d = euclid3(b, a % b, x1, y1);
        x = y1;
        y = x1 - (a / b) * y1;
        return d;
    }
}

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