Cod sursa(job #1482051)

Utilizator GalactusAnd Me Galactus Data 5 septembrie 2015 21:48:30
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include<fstream>

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

int a,b,c,t,x,y,q;
int Euclid(int a, int b, int& lastX, int& lastY)
{
    int x = 0, y = 1, q; lastX = 1; lastY = 0;
    int tA, tX, tY;
    while(b != 0)
    {
        q = a / b; // aveti grija ca a > b
        tA = b; b = a % b; a = tA;

        tX = x; x = lastX - q * x; lastX = tX;
        tY = y; y = lastY - q * y; lastY = tY;
    }
    return a;
}

int main()
{
    f>>t;
    for(int i=1;i<=t;i++){f>>a>>b>>c;
                          q=Euclid(a,b,x,y);
                          if(c%q==0)g<<x*(c/q)<<" "<<y*(c/q)<<endl;
                              else g<<0<<" "<<0<<endl;}
    f.close();
    g.close();
}