Cod sursa(job #2756786)

Utilizator gabrielinelusGabriel-Robert Inelus gabrielinelus Data 2 iunie 2021 21:57:23
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.44 kb
#include <cstdio>
#include <bitset>

using namespace std;

bitset<2000005> used;

int countPrimes(int k)
{
  int primes = 1;
  for (int i = 3; i <= k; i += 2)
    if (!used[i]) {
      ++primes;
      for (int j = 3; i * j <= k; j += 2)
	used[i * j] = true;
    }
  return primes;
}

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

  int N;
  scanf("%d", &N);

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