Pagini recente » Cod sursa (job #733278) | Cod sursa (job #920559) | Cod sursa (job #2878251) | Cod sursa (job #330207) | Cod sursa (job #2778962)
#include <iostream>
#include <fstream>
#include <bitset>
using namespace std;
const int maxval = 2048576;
bool primes[maxval];
ifstream fin("ciur.in");
ofstream fout("ciur.out");
void Eratostene() {
primes[0] = primes[1] = 1; //1 - nu e prim
for (int i = 2; i * i <= maxval; i++) {
if (!primes[i])
for (int d = i * i; d <= maxval; d += i)
primes[d] = 1;
}
}
int main() {
int n, prim = 0;
fin >> n;
Eratostene();
for (int i = 1; i <= n; i++) {
if (!primes[i]) prim++;
}
fout << prim;
}