Cod sursa(job #1772280)
Utilizator | Data | 6 octombrie 2016 17:09:44 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include <iostream>
#include <fstream>
bool v[2000001];
int main() {
std::ifstream fin("ciur.in");
std::ofstream fout("ciur.out");
int nrNeprime = 0, n;
fin >> n;
for(int i = 2; i * i <= n; ++i) {
if(!v[i]) {
for (int j = i * i; j <= n; j += i) {
if(!v[j]){
nrNeprime++;
}
v[j] = true;
}
}
}
fout << n - nrNeprime - 1;
fin.close();
fout.close();
return 0;
}