Cod sursa(job #350953)
Utilizator | Data | 26 septembrie 2009 13:35:05 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include<stdio.h>
#define N 2000002
bool c[N];
int ciur ( int n )
{
int i,j, nr = 0 ;
for ( i=2;i*i<=n;i++)
if ( !c[i] )
for (j=i*i;j<=n;j+=i)
c[j]=true;
for ( i=2; i <= n ; i ++ )
if ( !c[i] ) nr ++ ;
return nr ;
}
int main ( )
{
int n;
freopen ( "date.in" , "r" , stdin ) ;
freopen ( "date.out" , "w", stdout ) ;
scanf ( "%d" , & n ) ;
printf ( "%d" , ciur ( n ) ) ;
}