Cod sursa(job #613130)

Utilizator edward_alexStanciu Alexandru Marian edward_alex Data 16 septembrie 2011 18:39:59
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include<iostream>
#include<fstream>

using namespace std;

inline int euclidExtins(int a, int b, int &x, int &y)
{
	if(b == 0)
	{
		x = 1;
		y = 0;
		return a;
	}
	int x0,y0;
	int d = euclidExtins(b,a % b,x0,y0);
	x = y0;
	y = x0 - (a / b) * y0;
	return d;
}

int main()
{
	int t,a,b,c;
	fstream in("euclid3.in",ios::in);
	fstream out("euclid3.out",ios::out);
	in>>t;
	for(int i = 0 ; i < t ; i++)
	{
		in>>a;
		in>>b;
		in>>c;
		int x,y;
		int d = euclidExtins(a,b,x,y);
		cout<<d<<" "<<x<<" "<<y<<endl;
		if(c % d)
		{
			out<<"0 0"<<endl;
		}
		else
		{
			out<<x * (c / d)<<" "<<y * (c / d)<<endl;
		}
	}
	fflush(stdin);
	getchar();
	return 0;
}