Pagini recente » Cod sursa (job #850234) | Cod sursa (job #1516286) | Cod sursa (job #2651795) | Cod sursa (job #2526108) | Cod sursa (job #861201)
Cod sursa(job #861201)
#include <cstdio>
#include <math.h>
#include <bitset>
using namespace std;
bitset <2000008> b;
void Read (long &N) {
scanf ("%ld", &N);
}
void Solve (const long &N) {
long lim, i, num = N - 1, j;
lim = sqrt (N);
for (i = 4; i <= N; i = i + 2) {
b.set (i, 1);
num --;
}
for (i = 3; i <= lim; i += 2)
if (b.test (i) == 0)
for (j = i * i; j <= N; j += i)
if (b.test (j) == 0){
b.set (j, 1);
num --;
}
printf ("%ld\n", num);
}
int main () {
long N;
freopen ("ciur.in", "r", stdin);
freopen ("ciur.out", "w", stdout);
Read (N);
Solve (N);
return 0;
}