Pagini recente » Cod sursa (job #2158607) | Cod sursa (job #1022249) | Cod sursa (job #2866296) | Cod sursa (job #1516833) | Cod sursa (job #153903)
Cod sursa(job #153903)
#include<cstdio>
const long MAX=2000100;
long i,j,n,nr;
unsigned char v[(MAX >> 3)+2];
int main(){
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%ld",&n);
for(i=1;((i*i) << 1)+(i << 1)<=n;i++)
if((v[i >> 3] & (1 << (i & 7)))==0)
for(j=((i*i) << 1)+(i << 1);(j << 1)+1<=n;j+=(i << 1)+1)
v[j >> 3]|=(1 << (j & 7));
nr=1;
for(i=1;i<=n;i++)
if((v[i >> 3] & (1 << (i & 7)))==0)
if((i << 1)+1<=n){
nr++;
}
printf("%ld\n",nr);
fclose(stdin);
fclose(stdout);
return 0;
}