Cod sursa(job #2780906)

Utilizator vladburacBurac Vlad vladburac Data 8 octombrie 2021 09:43:14
Problema Ciurul lui Eratosthenes Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define NMAX 2000000

bool ciur[NMAX];
int main() {
  FILE *fin, *fout;
  int n, i, j, nr;
  fin = fopen( "ciur.in", "r" );
  fscanf( fin, "%d", &n );
  fclose( fin );
  ciur[0] = ciur[1] = 1;
  for ( i = 2; i * i <= NMAX; i++ ) {
    if( ciur[i] == 0 ) {
      for( j = i * i; j <= NMAX; j+=i )
        ciur[j] = 1;
    }
  }
  nr = 0;
  for( i = 2; i <= n; i++ )
    nr += 1 - ciur[i];
  fout = fopen( "ciur.out", "w" );
  fprintf( fout, "%d", nr );
  fclose( fout );
  return 0;
}