Cod sursa(job #1005656)

Utilizator ThomasFMI Suditu Thomas Thomas Data 5 octombrie 2013 14:19:55
Problema Algoritmul lui Euclid extins Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>
using namespace std;

ifstream f("euclid3.in");
ofstream g("euclid3.out");

int euclid(int a,int b,int &x,int &y)
{
    int r,flag=1;

    do
    {
        r=a%b;

        if(flag==1) x+=a/b;
        else y+=a/b;
        flag*=-1;

        a=b;
        b=r;
    } while(b!=0);

    return a;
}

int main()
{
    int t,a,b,c,i,x,y,d,e;

    f>>t;
    for(i=1;i<=t;i++)
    {
        f>>a>>b>>c;
        x=y=0;
        d=euclid(a,b,x,y);
        if(c%d==0)
        {
            e=c/d;
            g<<x*e<<" "<<-y*e<<"\n";
        }
        else g<<"0 0\n";
    }

    f.close();
    g.close();
    return 0;
}