Pagini recente » Cod sursa (job #2689192) | Cod sursa (job #1019872) | Cod sursa (job #1107376) | Cod sursa (job #3251130) | Cod sursa (job #2764467)
#include <iostream>
#include <fstream>
#include <vector>
const int NMAX = 2e6;
int lp[1 + NMAX];
std::vector<int> primes;
int main() {
std::ifstream in("ciur.in");
std::ofstream out("ciur.out");
int n;
in >> n;
for (int i = 3; i <= n; i += 2) {
if (lp[i] == 0) {
primes.push_back(i);
lp[i] = i;
}
for (int j = 0; j < primes.size() && primes[j] <= lp[i] && i <= n / primes[j]; ++j)
lp[i * primes[j]] = primes[j];
}
out << primes.size() + 1 << '\n';
return 0;
}