Cod sursa(job #1298794)

Utilizator jordasIordache Andrei Alexandru jordas Data 23 decembrie 2014 09:47:12
Problema Algoritmul lui Euclid extins Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
#include <fstream>

using namespace std;

 ifstream x ("euclid3.in");
 ofstream y ("euclid3.out");

 int T;

int main()
{
    int i;

    x>>T;

    int a,b,c;

    for(i=1;i<=T;i++)
    {
        x>>a>>b>>c;

        int X=0,Y=1,q;
        int LastX=1,LastY=0;
        int aux,auxX,auxY;

        if(a<b)
        {
            aux=a;
            a=b;
            b=aux;
        }

        while(b!=0)
        {
            q=a/b;

            aux=b;
            b=a%b;
            a=aux;

            auxX=X;
            X=LastX-q*X;
            LastX=auxX;

            auxY=Y;
            Y=LastY-q*Y;
            LastY=auxY;
        }

        if(c%a==0)
        {
            q=c/a;
            y<<LastX*q<<' '<<LastY*q;
            y<<'\n';
        }
        else
        {
            y<<0<<' '<<0;
            y<<'\n';
        }
    }

    return 0;
}