Pagini recente » Cod sursa (job #1522565) | Cod sursa (job #218725) | Cod sursa (job #1465697) | Cod sursa (job #1071435) | Cod sursa (job #1242772)
#include <fstream>
#include <cstring>
using namespace std;
unsigned char a[256];
ifstream fin("ciur.in");
ofstream fout("ciur.out");
int main()
{
int n;
unsigned char v[1000000];
fin >> n;
for (int i = 0; i <= n >> 3; i++)
{
memset(v, 0, 256);
}
int nr = 0;
if (n >= 2)
{
/*fout << "2 "*/
nr++;
}
for (int i = 1; (i << 1) + 1 <= n; i++)
{
if (!(v[i >> 3] & (1 << 7 - (i & 7))))
{
nr++;
for (int j = (i << 1) + i + 1; (j << 1) + 1 <= n; j += (i << 1) + 1)
{
v[j >> 3] = v[j >> 3]|(1 << 7 - (j & 7));
}
}
}
/* for (int i = 1; ((i<<1)+1)<= n; i++)
{
if (!(v[i >> 3] & (1 << 7 - (i & 7))))
fout << (i<<1)+1 << ' ';
}
fout << '\n';*/
fout << nr;
fout << '\n';
}