Pagini recente » Cod sursa (job #820251) | Cod sursa (job #2872993) | Cod sursa (job #1026080) | Cod sursa (job #1262278) | Cod sursa (job #1231227)
#include <cstdio>
//#define lnln long long
#define max_n 100000000/2/8+1
//#include <cmath>
using namespace std;
int n,res=1;
char a[max_n];
void eratosthenes(){
int i,j;
for(i=1;((i*i)<<1)+(i<<1)<=n;i++)
if(!(a[i>>3]&(1<<(i&7))))
for(j=((i*i)<<1)+(i<<1);(j<<1)+1<=n;j+= (i<<1)+1)
a[j>> 3]|=(1 << (j & 7));
for(i=1;(i << 1) + 1<= n;i++)
if(!(a[i >> 3] & (1 << (i & 7))))
res++;
}
int main(void){
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%d",&n);
eratosthenes();
printf("%d",res);
}