Cod sursa(job #1969066)

Utilizator raduzxstefanescu radu raduzx Data 18 aprilie 2017 11:19:32
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include <fstream>

using namespace std;
ifstream f("euclid3.in");
ofstream g("euclid3.out");
#define nmax 1026
int rest;
int cmmdc(int a,int b)
{
    while(b)
    {
        rest=a%b;
        a=b;
        b=rest;
    }
    return a;
}
int euclid(int x,int y,int &a,int &b)
{
    if(y==0)
    {
        a=1;
        b=0;
    }
    else
    {
        int x0,y0;
        euclid(y,x%y,x0,y0);
        a=y0;
        b=x0-(x/y)*y0;
    }
}

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