Pagini recente » Cod sursa (job #2416251) | Cod sursa (job #801106) | Cod sursa (job #44942) | Cod sursa (job #1678022) | Cod sursa (job #509855)
Cod sursa(job #509855)
#include <cstdio>
#include <cstdlib>
using namespace std ;
const long long unsigned int MAXN = 400000000 ;
const long long int Stop = 20000;
bool ciur [MAXN + 1] ;
int main ( )
{
freopen ( "ciur.in" , "r" , stdin ) ;
freopen ( "ciur.out" , "w" , stdout ) ;
long long unsigned int N , K = 0 , L ;
register long long unsigned int i , j;
scanf ( "%llud" , &N ) ;
for ( i = 4 ; i <= MAXN ; i += 2 )
ciur [ i ] = true ;
++K ;
for ( i = 3 ; i <= Stop ; i += 2 )
{
if ( ciur [ i ] )
continue ;
L = i << 1 ;
for ( j = i * i ; j <= MAXN ; j += L )
ciur [ j ] = true ;
++K ;
}
for ( i = Stop + 1 ; i <= MAXN ; i += 2 )
{
if ( ciur [ i ] )
continue ;
++K ;
}
printf ( "%llud" , K ) ;
}