Cod sursa(job #2780901)

Utilizator vlad_dimuVlad Dimulescu vlad_dimu Data 8 octombrie 2021 09:37:48
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.48 kb
#include <fstream>
#include <bitset>
#define MAXN 2000000
using namespace std;

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

bitset <MAXN + 1> c;

void ciur(){
  int i, d;
  c[1] = 1;
  for( d = 2; d * d <= MAXN; d++ ){
    if( c[d] == 0 )
      for( i = d * d; i <= MAXN; i += d )
        c[i] = 1;
  }
}

int main(){
  int n, i, cnt;
  fin >> n;
  ciur();
  cnt = 0;
  for( i = 1; i <= n; i++ )
    if( c[i] == 0 )
      cnt++;
  fout << cnt;
}