Cod sursa(job #1009766)

Utilizator donydony2009FMI - Donisan George donydony2009 Data 13 octombrie 2013 20:03:11
Problema Algoritmul lui Euclid extins Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<fstream>
using namespace std;
ofstream g("euclid3.out");
int cmmdc(int x,int y)
{
	if(x==0||y==0)
		return x+y;
	if(x>y)
		return cmmdc(x%y,y);
	if(x<=y)
		return cmmdc(x,y%x);

}
void eucl(int a,int b,int c)
{
	int z,cdc,r,obs,j;
	z=c%a;
	cdc=cmmdc(a,b);
	r=0;
	obs=0;
	for(j=1;j<=a/cdc;j++)
	{
		r+=b;
		r%=a;
		if(r==z||r==a+z)
		{
			obs=1;
			break;
		}
	}
	j=(j==a/cdc)?(0):(j);
	if(obs)
	{
		g<<(c-b*j)/a<<" "<<j<<"\n";
	}
	else
		g<<"0 0\n";

}
int main(void)
{
	int T,a,b,c,i,sw;
	ifstream f("euclid3.in");
	f>>T;
	for(i=1;i<=T;i++)
	{
		f>>a>>b>>c;		
		eucl(a,b,c);
	}
}