Cod sursa(job #729520)

Utilizator galbeniGal Beni galbeni Data 29 martie 2012 18:11:18
Problema Pascal Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <stdio.h>
#include <math.h>

int N,L=2,k,p[10],h[10];

void Olvas()
{	FILE *f=fopen("perechi.in","r");
	fscanf(f,"%d",&N);
	fclose(f);
}

void Ir()
{	FILE *f=fopen("perechi.out","w");
	fprintf(f,"%d",L);
	fclose(f);
}

int Lkkt(int i,int j)
{	int i0=i,j0=j,m;
	while (j0!=0)
	{	m=i0%j0;
		i0=j0;
		j0=m;
	}
	return (i*j)/i0;
}

void Szamol()
{	float gyok=sqrt(N);
	if (gyok==(int)gyok)
		++L;
	
	//int n=N;
	for (int d=2;d<gyok;++d)
		if (!(N%d))
		/*{*/	L+=2;
			/*p[k]=d;
			h[k]=0;
			k++;
			while (!(n%d))
			{	++h[k-1];
				n/=d;
			}
		}
	if (n>1)
	{	p[k]=n;
		h[k]=1;
		k++;
	}*/
	if (L==2)
		return;
	
	for (int i=2;i<=N/2;++i)
		for (int j=2;j<=i;++j)
			if (Lkkt(i,j)==N)
				++L;
}

int main()
{	Olvas();
	Szamol();
	Ir();
	return 0;
}