Pagini recente » Borderou de evaluare (job #1010368) | Cod sursa (job #300578) | Borderou de evaluare (job #2448389) | Cod sursa (job #2501093) | Cod sursa (job #514276)
Cod sursa(job #514276)
#include <stdio.h>
int i,j,N,sol;
char p[125010];
int main()
{
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%d",&N);
for(i=1;(((i*i)<<2)+(i<<2)+1)<=N;i++)
if((p[i>>3]&(1<<(i&7)))==0)
for(j=(((i*i)<<1)+(i<<1));((j<<1)+1)<=N;j+=((i<<1)+1))
p[j>>3]|=(1<<(j&7));
sol=1;
for(i=1;((i<<1)+1)<=N;i++)
if((p[i>>3]&(1<<(i&7)))==0) sol++;
printf("%d\n",sol);
return 0;
}