Cod sursa(job #2441880)

Utilizator Ilie_MityIlie Dumitru Ilie_Mity Data 21 iulie 2019 18:50:40
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include<cstdio>

using namespace std;

int cmmdc(int a, int b, int &x, int &y)
{
    if(b)
    {
        int d, x0, y0;
        d = cmmdc(b, a%b, x0, y0);

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

    y = 0;
    x = 1;
    return a;
}

int main()
{
    FILE *f, *g;
    int a, b, c, x, y, d, t;

    f=fopen("euclid3.in", "r");
    g=fopen("euclid3.out", "w");

    fscanf(f, "%i", &t);

    while(t)
    {
        fscanf(f, "%i %i %i", &a, &b, &c);

        d = cmmdc(a, b, x, y);

        if(c % d)
            fprintf(g, "0 0\n");
        else
            fprintf(g, "%i %i\n", c / d * x, c / d * y);

        --t;
    }

    fclose(g);
    fclose(f);

    return 0;
}