Cod sursa(job #1692885)

Utilizator msciSergiu Marin msci Data 21 aprilie 2016 21:42:29
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cassert>
#include <bitset>

using namespace std;

bitset<2000999> bit;

main() {
  freopen("ciur.in", "r", stdin);
  freopen("ciur.out", "w", stdout);
  int n;
  scanf("%d", &n);
  bit.set();
  for (int i = 2; i <= n; i++) {
    for (int j = i * i; j <= n; j += i) {
      bit[j] = 0;
    }
  }
  printf("%d\n", bit.count() - bit.size() + n - 1);
}