Pagini recente » Cod sursa (job #3297605) | Cod sursa (job #2589773) | Cod sursa (job #2954191) | Cod sursa (job #1520859) | Cod sursa (job #110725)
Cod sursa(job #110725)
#include <stdio.h>
#define maxn 1000000
int prim[200000],used[maxn+1];
long nrprim;
void ciur()
{
long q;
nrprim=1;
prim[1]=2;
for (long i=3; i<= maxn ;i+=2)
if ( used[i]==0 )
{
prim[++nrprim]= i;
for ( long j=i * 3; j<= maxn; j+=i*2 )
used[j]=1;
}
}
long nrprimecuxmaimicicax ( long x )
{
long dx=x;
long h=1;
long i=1;
for (i=1;x>=prim[i] && i<=nrprim ;i++)
if ( x%prim[i]==0 )
{
dx/=prim[i];
h=h*(prim[i]-1);
}
return dx*h;
}
int main()
{
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
long n;
ciur();
scanf("%ld",&n);
long i;
long hhj=0;
for (i=2;i<=n;i++)
{
hhj+=nrprimecuxmaimicicax(i);
}
printf("%ld",hhj*2+1);
fclose(stdout);
return 0;
}