Cod sursa(job #222771)

Utilizator catalin93Catalin Ionescu catalin93 Data 25 noiembrie 2008 09:05:54
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include<stdio.h>
#define N 1000050

int e[N],n;

void euler()
{
	int i,j;
		
	for(j=2;j<=n;j++)
		e[j] = 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);
}

int calcul()
{
	int s=1,i;
	for(i=2;i<=n;i++)
		s += 2 * e[i]; 

    return s;
}

int main()
{
	freopen("fractii.in","r",stdin);
	freopen("fractii.out","w",stdout);
	scanf("%d",&n);
	euler();
	printf("%d\n",calcul());
	return 0;
}