Cod sursa(job #2544043)
| Utilizator | Data | 11 februarie 2020 18:42:08 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 50 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.63 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() {
int i, j, np2 = n/2, npi;
for (i = 2; i <= np2; i++) {
npi = n/i;
for (j = i+i; j <= n; j+=i) {
v[j] = true;
}
}
}
int main() {
in >> n;
build();
int s = 0;
for (int i = 2; i <= n; i++) {
if (!v[i]) s++;
}
out << s;
}
