Cod sursa(job #2600014)

Utilizator gabrielinelusGabriel-Robert Inelus gabrielinelus Data 11 aprilie 2020 21:27:23
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.39 kb
#include <cstdio>
#include <bitset>

using namespace std;
#define Nmax 2000005
bitset<Nmax> sieve;

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

  int N, ans = 1;
  scanf("%d", &N);
  for (int i = 3; i <= N; i += 2)
    if (!sieve[i]) {
      ++ans;
      for (int j = 3; i * j <= N; j +=2)
	sieve[i * j] = true;
    }

  printf("%d\n", ans);
  
  return 0;
}