Cod sursa(job #2915868)

Utilizator Redstoneboss2Fabian Lucian Redstoneboss2 Data 25 iulie 2022 15:46:00
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("euclid3.in");
ofstream fout("euclid3.out");

void euclid(int a, int b, int &d, int &x, int &y);

int n, A, B, C, D, X, Y;

int main(){

    fin >> n;

    for(int i = 0; i < n; i++){
        fin >> A >> B >> C;

        euclid(A, B, D, X, Y);

        if(C % D != 0){
            fout << "0 0\n";
        }else{
            fout << X * (C/D) << ' ' << Y * (C/D) << '\n';
        }
    }
    return 0;
}

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