Cod sursa(job #1190373)

Utilizator hrazvanHarsan Razvan hrazvan Data 25 mai 2014 11:02:49
Problema Ciurul lui Eratosthenes Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.58 kb
#include <stdio.h>
#define N_MAX 2000000

char ap[ N_MAX ];

int ciur ( int n ){
    int i, j, rez = n;
    for ( i = 2; i * i <= n; i++ ){
        if ( !ap[ i ] ){
            for ( j = i * i; j <= n; j += i ){
                if ( !ap[ j ] )  rez--;
                ap[ j ] = 1;
            }
        }
    }
    return rez;
}

int main()
{
    FILE *in = fopen ( "ciur.in", "r" );
    int n;
    fscanf ( in, "%d", &n );
    fclose ( in );
    FILE *out = fopen ( "ciur.out", "w" );
    fprintf ( out, "%d", ciur ( n ) );
    fclose ( out );
    return 0;
}