Pagini recente » Cod sursa (job #246881) | Cod sursa (job #61488) | Cod sursa (job #2640399) | Cod sursa (job #428281) | Cod sursa (job #626911)
Cod sursa(job #626911)
#include <cstdio>
#define MAXN 2000100>>4
int main(){
freopen("ciur.in", "r", stdin);
freopen("ciur.out", "w", stdout);
static char P[MAXN];
int i, j, cnt=1, N;
scanf("%d", &N);
for(i=1; ((i*i)<<1)+(i<<1) <= N; i++)
if(!(P[i>>3] & (1<<(i&7))))
for(j=((i*i)<<1)+(i<<1); (j<<1)+1 <= N; j+=(i<<1)+1)
P[j>>3] |= (1<<(j&7));
for(i=1; (i<<1)+1 <= N; i++)
if(!(P[i>>3] & (1<<(i&7))))
cnt++;
printf("%d\n", cnt);
}