Cod sursa(job #1699503)
| Utilizator | 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;
}
