Cod sursa(job #2218762)

Utilizator alex.cojocaruAlex Cojocaru alex.cojocaru Data 5 iulie 2018 17:17:03
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <iostream>
#include <stdio.h>

#define NMAX 2000001

using namespace std;

char c [ NMAX + 1 ] ;

int main() {

  FILE *fin, *fout ;
  fin = fopen ("ciur.in", "r" ) ;
  fout = fopen ("ciur.out", "w" ) ;

  int n, count, d, i  ;

  count = 0 ;
  fscanf (fin, "%d", &n ) ;

  for (d = 2 ; d * d <= n ; d++ ) {
    if (c[d] == 0 )
      for (i = 2 * d ; i <= n ; i+=d )
        c[i] = 1 ;
  }
  count = 0 ;
  for (i = 2 ; i <= n ; i++ )
    if (c[i] == 0 )
      count++;
  fprintf (fout, "%d", count ) ;
  return 0;
}