Cod sursa(job #52359)

Utilizator requiemPop Cristian requiem Data 18 aprilie 2007 18:58:12
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<stdio.h>

int a[30000],i,n,s,aux,j;

int main()
{
	freopen("fractii.in","r",stdin);
	freopen("fractii.out","w",stdout);

	scanf("%d",&n);
	for(i=2;i<=n/2;++i)
		if(!a[i])
			for(j=2*i;j<=n;j+=i)
				a[j]=1;

	for(i=2;i<=n;++i)
	{
		if(!a[i])
		{
			s+=(i-1)*2;
			continue;
		}
		else
		{
			aux=i;
			if(i%2==0)
			{
				if(4<=i)
					aux-=aux/2;
			}
			for(j=3;j<=i/2;j+=2)
				if(i%j==0)
					aux-=aux/j;
			s+=2*aux;
			continue;
		}
	}
	printf("%d",s+1);
	return 0;
}