Cod sursa(job #1756622)

Utilizator papinub2Papa Valentin papinub2 Data 13 septembrie 2016 10:44:48
Problema Algoritmul lui Euclid extins Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <fstream>
using namespace std;
ifstream in("euclid3.in");
ofstream out("euclid3.out");

int cmmdc(int x, int y)
{
    int r;
    while (y)
    {
        r=x%y;
        x=y;
        y=r;
    }
    return x;
}

int main ()
{
    int n, a, b, c, i, k, q, p, d, x=1, nr=0;
    in>>n;
    for (i=1; i<=n; i++)
    {
        in>>a>>b>>c;
        if (c%cmmdc(a, b)==0)
        {
            k=c/cmmdc(a, b);


        q=a*k;
        p=b*k;
        d=cmmdc(a, b)*k;
        q=q/d;
        p=p/d;
        d=1;

        while (x)
        {
            nr++;
            q=q*nr;
            if ((q-1)%p==0)
                {p=(q-1)/p; x=0;}


        }
        out<<nr*k<<' '<<-p*k<<endl;
        nr=0;
        x=1;
        }
        else
            out<<0<<' '<<0<<endl;
    }
    return 0;
}