Pagini recente » Cod sursa (job #1211556) | Cod sursa (job #934269) | Cod sursa (job #857949) | Cod sursa (job #148026) | Cod sursa (job #338863)
Cod sursa(job #338863)
#include <stdio.h>
int v[260000];
int n,nr;
void ciur()
{
int i,j;
for (i=1; ((i*i) << 1) + (i << 1) <=n ; i++)
if (!((v[i >> 3] >> (i & 7)) & 1) )
for (j=((i*i) << 1) + (i << 1); (j << 1) < n; j+=(i << 1)+1)
v[j >> 3]|=(1 << (i & 7));
for (i=nr=1; (i << 1) < n; i++)
if ( !((v[i >> 3] >> (i & 7)) & 1) )
nr++;
}
int main()
{
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%d",&n);
ciur();
printf("%d",nr);
fclose(stdin); fclose(stdout);
return 0;
}