Cod sursa(job #22592)
#include<stdio.h>
#include<string.h>
long n, eul[1000001];
char p[1000001];
void erathostene()
{
long i, j, pr, q;
long s=1;
for(i=1; i<=n; i++)
eul[i]=i;
for(i=2; i<=n; i++)
if(p[i]==0)
{
eul[i]=eul[i]-1;
for(j=i+i; j<=n; j+=i)
{
p[j]=1;
eul[j]=eul[j]-eul[j]/i;
}
}
FILE *f=fopen("fractii.out", "w");
/*for(i=1; 2*i+1<=n; ++i)
if((p[i>>3]&(1<<(i&7)))==0)
{
fprintf(f, "%ld ", 2*i+1);
s++;
} */
for(i=2; i<=n; i++)
s=s+2*eul[i];
fprintf(f, "%ld", s);
fclose(f);
}
int main()
{
FILE *f=fopen("fractii.in", "r");
fscanf(f, "%ld", &n);
fclose(f);
erathostene();
return 0;
}