Cod sursa(job #3238969)

Utilizator domdiridomdidomDominik domdiridomdidom Data 31 iulie 2024 23:44:57
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1 kb
#include <iostream>
#include <fstream>

int lnko(int a, int b){
	if(b == 0)
		return a;
	return lnko(b, a % b);
}

void euclid(int a, int b, int &x, int &y){
	if(b == 0){
		x = 1, y = 0;
		return;
	}
	int kovx, kovy;
	euclid(b, a % b, kovx, kovy);
	x = kovy;			// ezt a két sort nem nagyon értem,
	y = kovx - (a / b) * kovy; 	//
}

// ehhez nagyon hülye vagyok
// ha mégegyszer hozzáfognék akkor https://www.youtube.com/watch?v=hB34-GSDT3k ezt nézzem meg
// értem, hogy mit csinál az algoritmus, azt nem értem hogy az infoarenás feladatot hogy kéne el kezdjem
// a fejem is kezd fájni
// mindegy mamámék sütik a miccset, úgyhogy adios!

int main(){
	std::ifstream bem("euclid3.in");
	std::ofstream kim("euclid3.out");
	int t;
	bem >> t;
	for(int i = 0; i < t; i++){
		int a, b, c;
		bem >> a >> b >> c;
		int d = lnko(a, b);
		if(c % d != 0)
			kim << "0 0 \n";
		else{
			int x, y;
			euclid(a, b, x, y);
			kim << c / d * x << " " << c / d * y << "\n"; 
		}
	}
	bem.close();
	kim.close();
	return 0;
}