Pagini recente » Cod sursa (job #1959453) | Cod sursa (job #1417715) | Cod sursa (job #748176) | Cod sursa (job #3206452) | Cod sursa (job #420493)
Cod sursa(job #420493)
/*
* File: main.cpp
* Author: virtualdemon
*
* Created on March 18, 2010, 3:57 PM
*/
#include <cstdio>
#include <cstdlib>
#define Nmax 2000010
/*
*
*/
using namespace std;
bool is_prime[ Nmax ];
int main( void )
{
int N, i, j, pas, nr=1;
fscanf( fopen("ciur.in", "rt" ), "%d", &N );
for( i=1; ( (i*i)<<1 ) + (i<<1)+1 <= N; ++i )
if( false == is_prime[ i ] )
{pas=(i<<1)+1;
for( j=( (i*i)<<1 )+(i<<1); (j<<1)+1 <= N; j+=pas )
is_prime[j]=true;
}
for( i=1; (i<<1)+1 <= N; ++i )
if( false == is_prime[i] )
{
++nr;
}
fprintf( fopen( "ciur.out", "wt" ), "%d", nr );
return EXIT_SUCCESS;
}