Cod sursa(job #3033119)

Utilizator DanielAtomDaniel Bence DanielAtom Data 23 martie 2023 13:21:57
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>
#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;
	ifstream in("ciur.in");
	ofstream out("ciur.out");
    in >> n;
    
    out << getPrimes(n);
}