Pagini recente » Borderou de evaluare (job #1604920) | Cod sursa (job #3161969) | Borderou de evaluare (job #224713) | Cod sursa (job #506298) | Cod sursa (job #2184488)
#include <fstream>
#include <bitset>
#define VM 2000000
using namespace std;
bitset <VM + 1> ciur;
ifstream fin ( "ciur.in" );
ofstream fout ( "ciur.out" );
void calc_ciur( int n ) {
ciur[0] = ciur[1] = 1;
for ( int i = 2; i * i <= n; i ++ )
if ( ciur[i] == 0 )
for ( int j = i * i; j <= n; j += i )
ciur[j] = 1;
}
int main() {
calc_ciur( VM );
int n, cnt;
fin >> n;
cnt = 0;
for ( int nr = n; nr >= 2; nr -- )
if ( ciur[nr] == 0 )
cnt ++;
fout << cnt << "\n";
return 0;
}