Cod sursa(job #1537231)

Utilizator Andrei501Clicinschi Andrei Andrei501 Data 27 noiembrie 2015 01:59:26
Problema Algoritmul lui Euclid extins Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.84 kb
#include <stdio.h>
#include <stdlib.h>

int gcd ( int aa, int bb, int &xx, int &yy )
{
    if (bb==0)
    {
        xx=1;
        yy=0;
        return aa;
    }

    int x0,y0,d;
    d=gcd (bb,aa%bb,x0,y0);

    xx=y0;
    yy=x0-y0*(aa/bb);
}

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

    int T;
    fscanf (fin,"%d",&T);

    int i,a,b,c,d,x,y;

    for (i=1; i<=T; i++)
    {
        fscanf (fin,"%d",&a);
        fscanf (fin,"%d",&b);
        fscanf (fin,"%d",&c);

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

        if (c%d==0)
        {
            fprintf (fout,"%d %d",x*(c/d),y*(c/d));
        }
        else
        {
            fprintf (fout,"%d %d",0,0);
        }
        fputc ('\n',fout);
    }

    fclose (fin);
    fclose (fout);
    return 0;
}