Cod sursa(job #2508238)

Utilizator euyoTukanul euyo Data 11 decembrie 2019 19:46:21
Problema Ciurul lui Eratosthenes Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.48 kb
#include <stdio.h>

char ciur[2000001];

int main() {
  FILE *fin = fopen( "ciur.in", "r" );
  FILE *fout = fopen( "ciur.out", "w" );
  int n, i, d, np;

  fscanf( fin, "%d", &n );
  for ( d = 2; d * d <= n; ++d ) {
    if ( ciur[d] == 0 ) {
      for ( i = d * d; i <= n; i += d ) {
        ciur[i] = 1;
      }
    }
  }
  np = 0;
  for ( i = 2; i <= n; ++i ) {
    np += 1 - ciur[i];
  }
  fprintf( fout, "%d", np );
  fclose( fin );
  fclose( fout );
  return 0;
}