Cod sursa(job #2930851)

Utilizator biancaivascuBianca Ivascu biancaivascu Data 29 octombrie 2022 18:22:03
Problema Algoritmul lui Euclid extins Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream>
#include <fstream>

using namespace std;

void euclid(int a, int b, int c, int &x, int &y)
{
    if(b==0)
    {
        c=a;
        x=1;
        y=0;
    }
    else
    {
        int x0, y0;
        euclid(b, a%b, c, x0, y0);
        x=y0;
        y=x0-(a/b)*y0;
    }
}
int main()
{
    ifstream in("euclid3.in");
    ofstream out("euclid3.out");
    int t, a, b, c, i, x, y, ca, cb, rest;
    in>>t;

    for(i=0; i<t; i++)
    {
        in>>a>>b>>c;
        ca=a; cb=b;

        while(cb!=0)
        {
            rest=ca%cb;
            ca=cb;
            cb=rest;
        }
        if(c%ca!=0) out<<0<<" "<<0<<'\n';
        else
        {
            euclid(a, b, ca, x, y);
            out<<x*c/ca<<" "<<y*c/ca<<'\n';
        }

    }
    return 0;
}