Pagini recente » Cod sursa (job #2860260) | Cod sursa (job #2388955) | Cod sursa (job #2861717) | Cod sursa (job #2760326) | Cod sursa (job #2146673)
#include <fstream>
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
const int bit = 32, log2 = 5;
const int nmax = 2000000/2/bit+8;
int prim[nmax], sol, n, i, j;
int main() {
f >> n;
for (i = 1; (i<<1) < n; i++)
if ((prim[i>>log2] & (1 << (i&(bit-1)) )) == 0) {
sol++;
for (j = ((i*i)<<1); (j<<1) < n; j += (i<<1)+1)
prim[i>>log2] |= (1 << (i&(bit-1)));
}
g << sol;
return 0;
}