Cod sursa(job #1699503)

Utilizator Tiberiu02Tiberiu Musat Tiberiu02 Data 7 mai 2016 15:50:49
Problema Ciurul lui Eratosthenes Scor 30
Compilator c Status done
Runda Arhiva educationala Marime 0.58 kb
# include <stdio.h>
# include <stdlib.h>

# define MAX_N 2000001
# define MAX_PRIMES 100000

char Ciur[MAX_N];

void ciur( int n ) {
    int i, j;
    for ( i = 2; i <= n; i ++ )
        if ( !Ciur[i] )
            for ( j = i * i; j <= n; j += i )
                Ciur[j] = 1;
}

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

    int n, i, S;

    fscanf( fin, "%d", &n );

    ciur( n );

    S = 0;
    for ( i = 2; i <= n; i ++ )
        S += ( !Ciur[i] );

    fprintf( fout, "%d", S );

    fclose( fin );
    fclose( fout );

    return 0;
}