Cod sursa(job #1347832)

Utilizator western100Sutu Eusebiu western100 Data 19 februarie 2015 11:51:36
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>
#include <iostream>

using namespace std;

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

void euclid(int a, int b, int &d, int &x, int &y)
{
    if (b == 0)
    {
        d = a;
        x = 1;
        y = 0;
    }
    else
    {
        int x0, y0;
        euclid(b, a % b, d, x0, y0);
        x = y0;
        y = x0 - (a / b) * y0;
    }
}

void cmmdc(int a,int b,int &c)
{
    if(b==0)
        c=a;
    else
        cmmdc(b,a%b,c);
}

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