Cod sursa(job #3213599)

Utilizator zavragiudavid dragoi zavragiu Data 13 martie 2024 12:05:31
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.49 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin("ciur.in");
ofstream fout("ciur.out");

bitset<2000005> v;
void Ciur(int n)
{
  int i, j;
  v[0] = v[1] = true;
  for(i = 4; i <= n; i += 2)
    v[i] = true;
  for(i = 3; i * i <= n; i += 2)
    if(!v[i])
      for(j = i * i; j <= n; j += 2 * i)
        v[j] = true;
}

int main()
{
  int n, cnt = 0;
  fin >> n;
  Ciur(n);
  if(n >= 2) cnt++;
  for(int i = 3; i <= n; i += 2)
    if(!v[i]) cnt++;
  fout << cnt;
}