Pagini recente » Cod sursa (job #3332287) | Cod sursa (job #2016912) | Cod sursa (job #1307014) | Cod sursa (job #3330847) | Cod sursa (job #3316495)
#include <bits/stdc++.h>
using namespace std;
// !!!
string PREFIX = "ciur";
int main()
{
ifstream cin(PREFIX + ".in");
ofstream cout(PREFIX + ".out");
int n;
cin >> n;
vector<bool>is_prime(n + 1, 1);
vector<int>primes;
int cnt = 0;
auto mark = [&] (int x) {
for (int p : primes) {
for (int j = 1; j * p * x <= n; j++)
is_prime[j * p * x] = 0;
}
};
primes.push_back(2);
mark(2);
for (int i = 3; i <= n; i += 2) {
if (is_prime[i]) {
cnt++;
mark(i);
}
}
cout << cnt << '\n';
}