Pagini recente » Cod sursa (job #498972) | Cod sursa (job #3256869) | Rating Vasiliu Alex (Tavise) | Cod sursa (job #1125966) | Cod sursa (job #435044)
Cod sursa(job #435044)
/*
* File: main.cpp
* Author: SpeeDemon
*
* Created on April 6, 2010, 8:17 PM
*/
#include <cstdlib>
#include <fstream>
#define Nmax 125001
/*
*
*/
using namespace std;
char isPrime[Nmax];
int main(int argc, char** argv)
{
int N, i, j, pas;
ifstream in( "ciur.in" );
in>>N;
for( i=1; ((i*i)<<1)+(i<<1) < N; ++i )
if( 0 == ( isPrime[i>>3] & (1<<(i&7)) ) )
{
pas=(i<<1)+1;
for( j=((i*i)<<1)+(i<<1); (j<<1) < N; j+=pas )
isPrime[j>>3]|=(1<<(j&7));
}
ofstream out( "ciur.out" );
for( i=1, j=1, N=N/2-1; i <= N; ++i )
if( 0 == ( isPrime[i>>3] & (1<<(i&7)) ) )
++j;
out<<j<<'\n';
return (EXIT_SUCCESS);
}