Cod sursa(job #2783263)

Utilizator FilippppFilip Gruianu Filipppp Data 14 octombrie 2021 09:08:31
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <bits/stdc++.h>


//int tine numere din intervalul (-2^31, 2^31)
//long long tine numere din intervalul (-2^63, 2^63)
//bool (0, 1)


using namespace std;

bool e[2000000 + 7];

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


  int n;
  cin >> n;
  for (int i = 2; i <= n; i++) {
    e[i] = 1;
  }
  for (int i = 2; i <= n; i++) {
    if (e[i]) {
      for (int j = i * i; j <= n; j += i) {
        e[j] = 0;
      }
    }
  }

  int cnt = 0;
  for (int i = 1; i <= n; i++) {
    if (e[i] == 1) {
      cnt++;
    }
  }
  cout << cnt << "\n";


  return 0;

}