Cod sursa(job #221807)

Utilizator ilincaSorescu Ilinca ilinca Data 18 noiembrie 2008 08:44:14
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include <stdio.h>

#define nmax 1000005

int n, e [nmax];


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

long long rez ()
{
	int i;
	long long num=1;
	for (i=2; i<=n; ++i)
		num+=e [i]*2;
	return num;
}

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