Cod sursa(job #1132954)

Utilizator DanutsDanut Rusu Danuts Data 4 martie 2014 09:47:52
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<fstream>
using namespace std;
long long int a,b,c,x,y,d,T;
ifstream f("euclid3.in");
ofstream g("euclid3.out");

void euclid(long long int a,long long int b,long long int &d,long long int &x,long long int &y){
	if(b==0){
		d=a;
		x=1;
		y=0;
	}
	else{
		long long int x0,y0;
		euclid(b,a%b,d,x0,y0);
		x=y0;
		y=x0-(a/b)*y0;
	}
}
int cmmdc(long int a,long int b){
	if(b==0)
		return a;
	else
		return cmmdc(b,a%b);
}
int main (){
	f>>T;
	for(int i=1;i<=T;i++){
	f>>a>>b>>c;
	d=cmmdc(a,b);
	if(c%d!=0)
		g<<0<<" "<<0<<'\n';
	else
	{
		
		euclid(a,b,d,x,y);
		g<<x*(c/d)<<" "<<y*(c/d)<<'\n';
	}
	}
	return 0;
}