Cod sursa(job #2226210)

Utilizator agrtAndreea G agrt Data 29 iulie 2018 21:11:17
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;


int euclid(int a, int b, int &x, int &y) {
	if (b == 0) {
		x = 1;
		y = 0;
		return a;
	}

	int x0, y0, d;
	d = euclid(b, a % b, x0, y0);

	x = y0;
	y = x0 - a / b * y0;

	return d;
}

int main(int argc, char const *argv[]) {

	ifstream inFile;
	inFile.open("euclid3.in");
	ofstream outf("euclid3.out");

	int nums, a, b, c, x, y;
	inFile >> nums;
	for (int i = 0; i < nums; ++i) {
		inFile >> a >> b >> c;
		int d = euclid(a, b, x, y);
		if (c % d != 0) {
			outf << "0 0\n";
		} else {
			outf << x* (c/d) << " " << y*(c/d) <<  "\n";
		}
	}


	outf.close();
	inFile.close();
	return 0;
}