Pagini recente » Cod sursa (job #2919533) | Cod sursa (job #3178022) | Cod sursa (job #2693837) | Cod sursa (job #2606906) | Cod sursa (job #2673148)
#include <fstream>
const int nmax = 2e6 + 5;
bool ciur[nmax];
void sieve(int n) {
for(int i=3;i*i<=n;i+=2)
if (!ciur[i]) {
for (int j = i * i; j <= n; j += 2 * i) ciur[j] = 1;
}
}
int main() {
std::ifstream fin("ciur.in");
std::ofstream fout("ciur.out");
int n, ans = 1;
fin >> n;
sieve(n);
for (int i = 3; i <= n; i += 2) ans += 1 - ciur[i];
fout << ans;
}