Pagini recente » Cod sursa (job #11161) | Cod sursa (job #1849328) | Cod sursa (job #3150133) | Cod sursa (job #2557708) | Cod sursa (job #1803560)
#include <fstream>
#include <bitset>
#define N 2000002
#define infile "ciur.in"
#define outfile "ciur.out"
using namespace std;
ifstream fin(infile);
ofstream fout(outfile);
bitset<N> v;
// 0 = prim, 1 != prim
int n,i;
void Ciur(int n)
{
v[0]=v[1]=1;
for(i=4; i<=n; i+=2)
v[i]=1;
for(i=3; i<=n; i+=2)
if(!v[i])
for(int k=i*i; k<=n; k+=2*i)
v[k]=1;
}
int main()
{
fin>>n;
Ciur(n);
int ct=0;
for(i=1; i<=n; ++i)
if(!v[i]) ++ct;
fout<<ct<<"\n";
fin.close(); fout.close();
return 0;
}