Cod sursa(job #2171402)
Utilizator | Cozma Catalin CozmaCatalin | Data | 15 martie 2018 12:14:49 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include <bits/stdc++.h>
std::ifstream in("ciur.in");
std::ofstream out("ciur.out");
using namespace std;
const int MAX = 2000002;
bitset < MAX > Prim;
int N;
void CIUR()
{
Prim[1] = true;
for ( int i = 2 ; i <= MAX ; ++i)
{
if(Prim[i] == 0)
for ( int j = i+i ; j <= MAX ; j+=i)
Prim[j] = true;
}
}
int main()
{
CIUR();
int Answer = 0;
in >> N;
for ( int i = 1; i <= N ; ++i)
if(Prim[i] == 0)
Answer++;
out << Answer;
}