Pagini recente » Cod sursa (job #1152947) | Cod sursa (job #2704784) | Cod sursa (job #691231) | Monitorul de evaluare | Cod sursa (job #1366076)
#include <cstdio>
#include <bitset>
#include <vector>
using namespace std;
#define Nmax 2000002
FILE *f = fopen ( "ciur.in", "r" );
FILE *g = fopen ( "ciur.out", "w" );
bitset < Nmax > ap;
vector < int > prime;
void Ciur ( int N ){
if ( N < 2 ) return;
prime.push_back ( 2 );
for ( int i = 3; i <= N; i += 2 )
if ( !ap[i] ){
prime.push_back ( i );
for ( int j = i + i; j <= N; j += i )
ap[j] = 1;
}
}
int main(){
int N;
fscanf ( f, "%d", &N );
Ciur ( N );
fprintf ( g, "%d", prime.size() );
return 0;
}