Pagini recente » Cod sursa (job #2843567) | Istoria paginii utilizator/nicoleta_diaconu | Cod sursa (job #2464564) | Cod sursa (job #981776) | Cod sursa (job #2099189)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
const int NMax = 2e6 + 50;
int ciur[NMax];
vector < int > primes;
void Erathos(int n) {
for(int i = 2; i <= n; ++i) {
if(ciur[i] == 0) {
ciur[i] = i;
primes.push_back(i);
}
for(int j = 0; j < (int)primes.size() && primes[j] <= ciur[i] && i * primes[j] <= n; ++j) {
ciur[i * primes[j]] = primes[j];
}
}
}
int main() {
int n;
fin >> n;
Erathos(n);
fout << (int)primes.size();
return 0;
}