Cod sursa(job #257884)

Utilizator ciorile.chioareBogatu Adrian ciorile.chioare Data 14 februarie 2009 11:40:15
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <stdio.h>
#define N 1000008

int e[N];
int n;
int s;

void init()
{
	for(int i=2;i<=n;++i)
		e[i]=i;
}

void euler()
{
	int i,j;
	
	for(i=2;i<=n;++i)
		if(e[i]==i)
			for(j=i;j<=n;j+=i)
				e[j]=e[j]/i*(i-1);
}


void afisare()
{
	for(int i=2;i<=n;++i)
		s=s+e[i];
}

int main()
{
	freopen("fractii.in","r",stdin);
	freopen("fractii.out","w",stdout);
	
	
	scanf("%d",&n);
	init();
	euler();
	
	afisare();
	printf("%d",2*s+1);
	
	return 0;
}