Pagini recente » Cod sursa (job #2135858) | Cod sursa (job #161555) | Cod sursa (job #2563256) | Cod sursa (job #3229665) | Cod sursa (job #2499971)
#include <cstdio>
#include <bitset>
#include <vector>
using namespace std;
const int NMAX = 2000505;
int N;
vector<int> pr;
short int lp[NMAX];
int main() {
freopen("ciur.in", "r", stdin);
freopen("ciur.out", "w", stdout);
scanf("%d", &N);
for (int i = 2; i <= N; i++) {
if (lp[i] == 0) {
lp[i] = i;
pr.push_back(i);
}
for (int j = 0; j < pr.size() && pr[j] <= lp[i] && i * pr[j] <= N; j++) {
lp[i * pr[j]] = pr[j];
}
}
printf("%d\n", (int) pr.size());
return 0;
}