Pagini recente » cnmnarad | Cod sursa (job #2612851) | Cod sursa (job #701860) | Cod sursa (job #1449308) | Cod sursa (job #52207)
Cod sursa(job #52207)
#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;
}