Cod sursa(job #2631846)

Utilizator KlinashkaDiacicov Calin Marian Klinashka Data 1 iulie 2020 13:17:52
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.47 kb
#include <stdio.h>

using namespace std;

bool prim[2000001];
int k, x;

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


  scanf("%d", &x);
  for (int i = 3; i <= x; i += 2)
    prim[i] = 1;
  prim[2] = 1;
  for (int i = 3; i*i <= x; i += 2)
    if (prim[i])
      for (int j=i*i; j<=x; j+=2*i)
        prim[j]=0;
  int cnt=0;
  for (int i=1; i<=x; i++)
    if (prim[i])
      cnt++;
  printf("%d\n", cnt);
  return 0;
}