Pagini recente » Rating ciocoiu stefania (stefania23) | Cod sursa (job #88430) | Cod sursa (job #473176) | Rating Alin Toma (AlinToma) | Cod sursa (job #188887)
Cod sursa(job #188887)
#include<stdio.h>
unsigned long long l,d,prim,x[1000],p,n,i,j,sol,e,nc;
unsigned long long prim1000();
int main()
{
freopen("fractii.in","rt",stdin);scanf("%llu",&n);
freopen("fractii.out","wt",stdout);
prim1000();
sol=1;
for(j=2;j<=n;j++)
{e=j;
nc=j;
for(i=1;i<=l;i++)
{if(x[i]*x[i]>nc)break;
if(nc%x[i]==0)
{e/=x[i];e*=x[i]-1;while(nc%x[i]==0)nc/=x[i];}
}
if(nc>1) {e/=nc;e*=nc-1;}
sol=sol+2*e;}
printf("%llu",sol);
return 0;
}
unsigned long long prim1000()
{
l=1;x[1]=2;d=3;
for(i=3;i<=999;i=i+2)
{ prim=1;
for(d=3;d*d<=i;d=d+2)
if(i%d==0) {prim=0;break;}
if(prim){l++;x[l]=i;}
}
return 0;
}