Cod sursa(job #3033115)

Utilizator DanielAtomDaniel Bence DanielAtom Data 23 martie 2023 13:20:45
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.46 kb
#include <iostream>
#include <cstring>

using namespace std;

bool prime[2000005];

int getPrimes(int n) {
  int cnt = 0;
  memset(prime, true, sizeof(prime));
  
  for(int i = 2; i * i <= n; ++i) {
      if(prime[i]) {
          for(int j = i * i; j <= n; j += i) prime[j] = false;
      }
  }
  
  for(int i = 2; i <= n; ++i)
    if(prime[i]) cnt++;
    
  return cnt;
}

int main() {
    int n;
    cin >> n;
    
    cout << getPrimes(n);
}