Pagini recente » Cod sursa (job #304010) | Diferente pentru problema/sieve intre reviziile 4 si 21 | Cod sursa (job #1099924) | Diferente pentru problema/mindist intre reviziile 25 si 24 | Cod sursa (job #2499959)
#include <cstdio>
#include <bitset>
using namespace std;
const int NMAX = 2000505;
bitset<NMAX> mark;
int N;
int main() {
freopen("ciur.in", "r", stdin);
freopen("ciur.out", "w", stdout);
scanf("%d", &N);
for (int i = 2; i <= N; i++) {
if (!mark[i]) {
for (int j = 2 * i; j <= N; j += i) {
mark[j] = 1;
}
}
}
printf("%d\n", N - 1 - mark.count());
return 0;
}