Cod sursa(job #3208027)

Utilizator DajaMihaiDaja Mihai DajaMihai Data 27 februarie 2024 14:37:27
Problema Algoritmul lui Euclid extins Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
#include <bits/stdc++.h>
#include <fstream>

using namespace std;

const string fileName = "euclid3";

ifstream in (fileName + ".in");
ofstream out (fileName + ".out");

int n;

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;
    }
}

int main()
{
    in >> n;
    for(int i = 0; i < n; i ++){
        int a, b, c;
        in >> a >> b >> c;
        int d, x, y;
        euclid(a, b, &d, &x, &y);
        if(c % d == 0)
            out << x * c / d << " " << y * c / d << endl;
        else{
            out << "0 0" << endl;
        }
    }


    return 0;
}