Mai intai trebuie sa te autentifici.
Cod sursa(job #2870566)
Utilizator | Data | 12 martie 2022 13:59:37 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.61 kb |
#include <fstream>
#include <bitset>
using namespace std;
ifstream fin ("ciur.in");
ofstream fout("ciur.out");
const int NMAX = 2e6;
int n, s;
bitset<NMAX> ciur;
void Ciur_Eratosthenes() {
ciur[0] = ciur[1] = 1;
for (int i = 4; i <= NMAX; i += 2)
ciur[i] = 1;
for (int i = 3; i * i <= NMAX; i += 2)
if (!ciur[i])
for (int j = i + i; j <= NMAX; j += i)
ciur[j] = 1;
}
int main() {
Ciur_Eratosthenes();
fin >> n;
for (int i = 2; i <= n; i++) {
s += (!ciur[i] ? 1 : 0);
}
fout << s;
return 0;
}