Pagini recente » Cod sursa (job #3630) | Cod sursa (job #1158042) | Cod sursa (job #1259058) | Cod sursa (job #2017371) | Cod sursa (job #2028020)
#include <fstream>
#include <bitset>
#define in "ciur.in"
#define out "ciur.out"
#define N 2000003
using namespace std;
ifstream fin(in);
ofstream fout(out);
int n;
bitset<N> prim;
void Ciur(const int &n)
{
prim[1] = 1;
for(int i=4; i<=n; i+=2)
prim[i] = 1;
for(int i=3; i<=n; i+=2)
if(!prim[i])
for(int d = i*i; d<=n; d+=2*i)
prim[d] = 1;
// 0 - prim
}
int main()
{
fin>>n;
Ciur(n);
int rez = 0;
for(int i=1; i<=n; ++i)
rez += 1-prim[i];
fout<<rez;
fin.close(); fout.close();
return 0;
}