Pagini recente » Cod sursa (job #2215587) | Cod sursa (job #1873419) | Cod sursa (job #2041076) | Cod sursa (job #657176) | Cod sursa (job #52211)
Cod sursa(job #52211)
#include<stdio.h>
int prim(int n);
int main()
{
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
long n,i,s=0,j,aux;
scanf("%ld",&n);
for(i=2;i<=n;++i)
{
if(prim(i))
{
s+=(i-1)*2;
// continue;
}
else
{
aux=i;
if(i%2==0)
{
if(4<=i)
aux-=aux/2;
}
for(j=3;j<=i/2;j+=2)
if(i%j==0)
if(prim(j))
if(2*j<=i)
aux-=aux/j;
s+=2*aux;
}
}
printf("%ld",s+1);
return 0;
}
int prim(int i)
{
if(i==2||i==3)
return 1;
if(i%2==0||i%3==0)
return 0;
long j;
for(j=5;j<=i/2;j+=2)
if(i%j==0)
return 0;
return 1;
}