Pagini recente » Monitorul de evaluare | Cod sursa (job #739048) | Cod sursa (job #826540) | Cod sursa (job #1738120) | Cod sursa (job #1198056)
#include <fstream>
#include <bitset>
#include <algorithm>
#define NN 2000009
using namespace std;
ofstream out("ciur.out");
int n ;
int sol;
bitset < NN > uz;
void erat();
int main()
{
ifstream in("ciur.in");
erat();
in >> n;
for(int i=1; i<=n ; i++)
if( !uz[i] )
++sol;
out << sol + 1 << '\n';
return 0;
}
void erat()
{
uz[1] = 1;
for( int i=3 ; i <=NN ; i+=2 )
{
uz[i-1] = 1;
if( !uz[i] )
{
for( int j= 3 * i ; j<=NN ; j+= i << 1)
uz[j] = 1;
}
}
}