Pagini recente » Cod sursa (job #3268917) | Cod sursa (job #1320211) | Statisticile problemei Lampa | Cod sursa (job #91675) | Cod sursa (job #1590959)
#include <fstream>
#include <vector>
using namespace std;
vector<int> sieve(int n) {
vector<bool> is_prime(n + 1, true);
vector<int> result;
is_prime[0] = is_prime[1] = false;
for (int i = 2; i <= n; ++i) {
if (!is_prime[i])
continue;
result.push_back(i);
if (i * (long long) i > n)
continue;
for (int j = i * i; j <= n; j += i)
is_prime[j] = false;
}
return result;
}
int main() {
ifstream fin("ciur.in");
ofstream fout("ciur.out");
int n; fin >> n;
auto result = sieve(n);
fout << result.size() << endl;
return 0;
}