Pagini recente » Cod sursa (job #2125420) | Cod sursa (job #435380) | Cod sursa (job #2659704) | Cod sursa (job #2393636) | Cod sursa (job #875674)
Cod sursa(job #875674)
#include <fstream>
#include <bitset>
using namespace std;
int main() {
ifstream fin("ciur.in");
ofstream fout("ciur.out");
int n; fin >> n;
bitset<2000001> sieve;
for (int i=3,j; i<=n; ) {
j=i*i;
if (j<0) break;
for (; j<=n; j+=(i<<1)) {
sieve.set(j);
}
while ((i+=2)<=n && sieve[i]);
}
fout << n-n/2-sieve.count();//1 counted,2 not counted
return 0;
}