Cod sursa(job #2910651)

Utilizator Savu_Stefan_CatalinSavu Stefan Catalin Savu_Stefan_Catalin Data 23 iunie 2022 12:12:05
Problema Algoritmul lui Euclid extins Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>

using namespace std;
ifstream in("euclid3.in");
ofstream out("euclid3.out");
int t,x,y,a,b,c,d,e;
int cmm(int a,int b)
{
    int r=a%b;
    while(r)
    {
        a=b;
        b=r;
        r=a%b;
    }
    return b;
}
int euc(int a,int b,int &x,int &y)
{
    if (a==0)
    {
        x=0;
        y=1;
        return b;
    }
    int xx,yy;
    int d=euc(b%a,a,xx,yy);
    x=yy-(b/a)*xx;
    y=xx;
    return d;
}
int main()
{
    in>>t;
    while (t)
    {
        t--;
        in>>a>>b>>c;
        d=cmm(a,b);
        if (c%d!=0) {out<<0<<" "<<0<<'\n'; continue;}
        e=c/d;
        d=euc(a,b,x,y);
        out<<x*e<<" "<<y*e<<'\n';
    }
    return 0;
}