Cod sursa(job #1692893)

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

using namespace std;

const int N = 2000009;

char s[N] = {0};

main() {
#ifdef INFOARENA
  freopen("ciur.in", "r", stdin);
  freopen("ciur.out", "w", stdout);
#endif
  int n, ans = 0;
  scanf("%d", &n);
  for (int i = 2; i <= n; i++) {
    if (s[i] == 0) ans++;
    for (int j = i + i; j <= n; j += i)
      s[j] = 1;
  }
  printf("%d\n", ans);
  return 0;
}