Cod sursa(job #2940209)

Utilizator IanDoIan Dontu IanDo Data 15 noiembrie 2022 00:23:52
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
using namespace std;

void euclid_extins(int a, int b, int &d, int &x, int &y) {
	if (b == 0) {
		x = 1;
		y = 0;
		d = a;
		return;
	}
	int q = a / b, x_, y_;
	euclid_extins(b, a - q * b, d, x_, y_);
	x = y_;
	y = x_ - q * y_;
}

int main() {
	ifstream fin ("euclid3.in");
	ofstream fout ("euclid3.out");
	int t;
	fin >> t;
	for (int i = 0; i < t; ++i) {
		int a, b, c, d, x, y;
		fin >> a >> b >> c;
		euclid_extins(a, b, d, x, y);
		if (c % d == 0) {
			int q = c / d;
			fout << x * q << ' ' << y * q;
		} else {
			fout << "0 0";
		}
		fout << '\n';
	}
	fin.close();
	fout.close();
}