Cod sursa(job #352566)

Utilizator Teodor94Teodor Plop Teodor94 Data 2 octombrie 2009 12:38:49
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
// numarul nrelor prime cu n si <n 
// - n* (p1-1)/p1 * (p2-1)/p2 * ... * (pk-1)/pk

#include <cstdio>

const int N=1<<20;
int e[N];
int n;
int main()
{
	freopen("fractii.in","r",stdin);
	freopen("fractii.out","w",stdout);
	scanf("%d",&n);
	int j,i;
	for (i=2;i<N;i++)
		e[i]=i;
	for (i=2;i<N;i++)
		if (e[i]==i)  //  daca i e prim
			for (j=i;j<N;j+=i)
				e[j]=e[j]/i*(i-1);
    long long s=0;
	for (i=2;i<=n;i++)
		s=s+e[i]*2;
	s++;
	printf("%d",s);
	return 0;
}