Cod sursa(job #2541744)
| Utilizator | Data | 8 februarie 2020 20:23:05 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 40 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.68 kb |
using namespace std;
#define fisier "ciur"
#ifdef fisier
#include <fstream>
ifstream in(fisier ".in");
ofstream out(fisier ".out");
#else
#include <iostream>
#define in cin
#define out cout
#endif
bool v[2000001];
int n;
void build() {
long long i, j, np2 = n/2, npi;
for (i = 2; i <= np2; i++) {
npi = n/i;
for (j = 2; j <= npi; j++) {
v[i * j] = true;
}
}
}
int main() {
in >> n;
build();
int s = 0;
for (int i = 2; i <= n; i++) {
if (!v[i]) s++;
}
out << s;
}
//
