Pagini recente » Cod sursa (job #1272280) | Cod sursa (job #1064940) | Monitorul de evaluare | Profil CorinaT | Cod sursa (job #1133244)
#include <fstream>
#define NMax 200000/2
using namespace std;
int N;
char v[NMax];
int getTheNumber(int x)
{
int nr = 1, i, j;
for(i = 1 ; (i << 1) + 1 <= N ; ++i)
{
if((v[i >> 3] & (1 << (i & 7))) == 0)
{
for(j = ((i * i) << 1) + (i << 1) ; (j << 1) + 1 <= N ; j += (i << 1))
v[j >> 3] |= (1 << (j & 7));
++nr;
}
}
return nr;
}
int main()
{
ifstream fin("ciur.in");
ofstream fout("ciur.out");
fin >> N;
fout << getTheNumber(N);
fin.close();
fout.close();
return 0;
}