Cod sursa(job #2544047)
Utilizator | Data | 11 februarie 2020 18:43:08 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 30 |
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
int 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] = 1;
}
}
}
int main() {
in >> n;
build();
int s = 0;
for (int i = 2; i <= n; i++) {
if (!v[i]) s++;
}
out << s;
}