Cod sursa(job #1026448)

Utilizator tudy23Coder Coder tudy23 Data 11 noiembrie 2013 17:19:04
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>

using namespace std;

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

int gcd(int a, int b, int &x, int &y)
{
    if(b==0)
    {
        x=1;
        y=0;
        return a;
    }

    int d,x0,y0;

    d = gcd(b,a%b,x0,y0);

    x=y0;
    y=x0-(a/b)*y0;
    return d;
}

void citire(int &a, int &b, int &c)
{
    f>>a>>b>>c;
}

void rez(int a, int b, int c)
{
    int x,y;
    int d = gcd(a,b,x,y);

    if(c%d)
        h<<"0 0\n";
    else
        h<<x*(c/d)<<" "<<y*(c/d)<<"\n";
}

int main()
{
    int n;
    f>>n;
    int a,b,c;
    for(int i=0;i<n;++i)
    {
        citire(a,b,c);
        rez(a,b,c);
    }
    f.close();
    h.close();
    return 0;
}