Pagini recente » Cod sursa (job #999758) | Cod sursa (job #1250691) | Cod sursa (job #1975403) | Cod sursa (job #845454) | 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;
}