Cod sursa(job #3237536)

Utilizator tsg38Tsg Tsg tsg38 Data 9 iulie 2024 21:00:48
Problema Ciurul lui Eratosthenes Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.47 kb
#include <bits/stdc++.h>

using namespace std;

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

const int DIM = 2e6 + 1;

int ciur[DIM];

int main() {
  ios_base::sync_with_stdio(0);
  fin.tie(0);
  int n, cnt = 0;

  fin >> n;
  for ( int d = 2; d * d <= n; ++d ) {
	if ( !ciur[d] ) {
	  for ( int i = d * d; i <= n; i += d ) {
		ciur[i] = 1;
	  }
	}
  }
  for ( int i = 2; i <= n; ++i ) cnt += ciur[i] ^ 1;
  fout << cnt;
  fin.close();
  fout.close();
  return 0;
}