Pagini recente » Cod sursa (job #2207160) | Cod sursa (job #2320689) | Cod sursa (job #2988256) | Cod sursa (job #203236) | Cod sursa (job #861200)
Cod sursa(job #861200)
#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) {
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;
}