Cod sursa(job #2470195)

Utilizator andreigaliAndrei Galitianu andreigali Data 8 octombrie 2019 20:34:57
Problema Algoritmul lui Euclid extins Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.95 kb
#include <cstdio>

int main()
{
    FILE *f = fopen("euclid3.in", "r");
    FILE *g = fopen("euclid3.out", "w");

    int t, a_a, b_a, a_d, b_d, c, q[100], p=1, x_a, y_a, x_d,y_d;

   fscanf(f, "%d", &t);
   /// scanf("%d", &t);

   for(int i=0; i<t; i++)
    {

       fscanf(f, "%d%d%d", &a_d, &b_d, &c);
        ///scanf("%d%d%d", &a_d, &b_d, &c);
        q[1] = a_d/b_d;

        while(b_a != 0)
        {
            a_a = b_d;
            b_a = (a_d%b_d);
            if(b_a!=0)
                q[++p] = a_a/b_a;
            else
                q[++p] = a_a;
            a_d = a_a;
            b_d = b_a;
        }

        x_d = c/a_d;
        y_d = 0;
        p--;

        while(p>0)
        {
            x_a = y_d;
            y_a = x_d - (q[p--]*y_d);
            x_d = x_a;
            y_d = y_a;
        }

        fprintf(g, "%d %d\n", x_d, y_d);
        ///printf("%d %d\n", x_d, y_d);
    }
    return 0;
}