Pagini recente » Diferente pentru problema/tequila intre reviziile 144 si 109 | Diferente pentru problema/joc7 intre reviziile 19 si 7 | Diferente pentru problema/palin3 intre reviziile 32 si 31 | Cod sursa (job #1590251) | Cod sursa (job #2499958)
#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 * i <= N; i++) {
if (!mark[i]) {
for (int j = i * i; j <= N; j += i) {
mark[j] = 1;
}
}
}
printf("%d\n", N - 1 - mark.count());
return 0;
}