Cod sursa(job #2449509)

Utilizator ejoi2019Ejoi 2019 ejoi2019 Data 19 august 2019 22:54:47
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include <cstdio>
#include <bitset>

using namespace std;

const int N = 2000001;
bitset <N> p;

int main() {
  freopen ("ciur.in", "r", stdin);
  freopen ("ciur.out", "w", stdout);

  for (int i = 3; i < N; i += 2)
    p[i] = 1;
  p[2] = 1;
  for (int i = 3; i * i < N; i += 2)
    if (p[i])
      for (int j = i * i; j < N; j += 2 * i)
        p[j] = 0;
  int cnt = 0;
  int n;
  scanf("%d", &n);
  for (int i = 1; i <= n; i++)
    cnt += p[i];
  printf("%d\n", cnt);

  return 0;
}