Pagini recente » Cod sursa (job #94054) | Cod sursa (job #557211) | Cod sursa (job #443628) | Cod sursa (job #2660978) | Cod sursa (job #420348)
Cod sursa(job #420348)
/*
* File: main.cpp
* Author: virtualdemon
*
* Created on March 18, 2010, 3:57 PM
*/
#include <cstdio>
/*
*
*/
using namespace std;
char is_prime[ 125001 ];
int main( void )
{
int N, i, j, nr=1;
fscanf( fopen( "ciur.in", "rt" ), "%d", &N );
for( i=1; ((i*i)<<1)+(i<<1) <= N; ++i )
if( 0 == ( is_prime[i>>3] & ( 1<<(i&7)) ) )
for( j=((i*i)<<1)+(i<<1); (j<<1)+1 <= N; j+=(i<<1)+1 )
is_prime[j>>3]|=(1<<(j&7));
for( i=1; (i<<1)+1 <= N; ++i )
if( 0 == ( is_prime[i>>3] & (1<<(i&7) ) ) )
++nr;
fprintf( fopen("ciur.out", "wt" ), "%d", nr );
return 0;
}