Pagini recente » Cod sursa (job #1831820) | Cod sursa (job #3279595) | Cod sursa (job #3278962) | Cod sursa (job #3281903) | Cod sursa (job #1122310)
#include <cstdio>
using namespace std;
int n,i,nr,j;
char p[2000010/2/8+1];
int main()
{
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%d",&n);
nr=1;
for (i = 1; ((i * i) << 1) + (i << 1) <= n; i += 1) {
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));
}
}
}
for (i = 1; 2 * i + 1 <= n; i++)
if ((p[i >> 3] & (1 << (i & 7))) == 0)
nr++;
printf("%d",nr);
return 0;
}