Cod sursa(job #2861234)

Utilizator radu.Radu Cristi radu. Data 3 martie 2022 18:36:14
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("euclid3.in");
ofstream fout("euclid3.out");
pair<int, int> euclid_extins(int a, int b, int *cmmdc) {
    if (b == 0) {
        *cmmdc = a;
        return make_pair(1, 0);
    }
    pair<int, int> an = euclid_extins(b, a % b, cmmdc);
    return make_pair(an.second, an.first - an.second * (a / b));
}
int main()
{
    int N, a, b, c, d;
    fin >> N;
    for (int i = 0; i < N; ++i) {
        fin >> a >> b >> c;
        pair<int, int> p = euclid_extins(a, b, &d);
        if (c % d != 0) {
            fout << "0 0\n";
        }
        else {
            fout << p.first * (c / d) << " " << p.second * (c / d) << "\n";
        }
    }
    return 0;
}