Cod sursa(job #1514650)

Utilizator StefaanStefanescu Stefan Stefaan Data 31 octombrie 2015 13:18:13
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>
using namespace std;
int x,y,d,a,b,c,n;

void euclid_ext(int x,int y,int &d,int &a,int &b)
{
    if(!y)
    {
        d = x;
        a = 1;
        b = 0;
    }
    else
    {
        int b1,a1;
        euclid_ext(y,x%y,d,a1,b1);
        a = b1;
        b = a1 - b1 * (x / y);
    }
}

int main()
{
    ifstream f("euclid3.in");
    ofstream g("euclid3.out");
    f>>n;
    for(int i = 1 ; i <= n ; i++)
    {
        f>>a>>b>>c;
        euclid_ext(a,b,d,x,y);
        if(c % d != 0)
            g<<0<<" "<<0<<"\n";
        else
        {
            x = x * (c / d);
            y = y * (c / d);
            g<<x<<" "<<y<<"\n";
        }
    }
    f.close();
    g.close();
    return 0;
}