Cod sursa(job #1700625)
| Utilizator | Data | 10 mai 2016 21:48:51 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | c | Status | done |
| Runda | Arhiva educationala | Marime | 0.59 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 * 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, "%lld", &n );
ciur( n );
S = 0;
for ( i = 2; i <= n; i ++ )
S += ( !Ciur[i] );
fprintf( fout, "%lld", S );
fclose( fin );
fclose( fout );
return 0;
}
