Cod sursa(job #1969992)
Utilizator | Tudor Maxim tudormaxim | Data | 18 aprilie 2017 19:36:28 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include <iostream>
#include <fstream>
#include <bitset>
using namespace std;
ifstream fin ("ciur.in");
ofstream fout ("ciur.out");
const int maxn = 2e6 + 5;
bitset <maxn> Sieve;
int n, ans;
int main() {
ios_base :: sync_with_stdio(false);
fin >> n;
for (int i = 2; i <= n; i++) {
if (Sieve[i] == false) {
ans++;
for (int j = i << 1; j <= n; j += i) {
Sieve[j] = true;
}
}
}
fout << ans << "\n";
return 0;
}