Pagini recente » Cod sursa (job #1685578) | Cod sursa (job #2084306) | Cod sursa (job #13829) | Cod sursa (job #2486445) | Cod sursa (job #523213)
Cod sursa(job #523213)
/*
* File: main.cpp
* Author: salexandru
*
* Created on January 17, 2011, 2:16 PM
*/
#include <fstream>
#include <cstdlib>
#define N_MAX (2000000>>4)+1
using namespace std;
/*
*
*/
int isPrime[N_MAX];
int main(int argc, char** argv)
{
int N, i, j, add;
ifstream in( "ciur.in" );
in>>N;
for( i=1; ((i*i)<<1)+(i<<1) < N; ++i )
if( 0 == ( isPrime[i>>3] & (1<<(i&7)) ) )
{
add=i<<1;
for( j=((i*i)<<1)+(i<<1); (j<<1) < N; j+=add )
isPrime[j>>3]|=1<<(j&7);
}
for( j=1, i=3; i <= N; i+=2 )
{
add=(i-1)>>1;
if( 0 == ( isPrime[add>>3] & (1<<(add&7)) ) )
++j;
}
ofstream out( "ciur.out" );
out<<j<<'\n';
return 0;
}