Cod sursa(job #2425889)
| Utilizator | Data | 25 mai 2019 12:55:33 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.47 kb |
#include <fstream>
#include <bitset>
using namespace std;
ifstream cin("ciur.in");
ofstream cout("ciur.out");
bitset <2000005> p;
int n, k;
void eratosthenes()
{
p[1]=1;
for(int i=2; i*2<=n; ++i) p[2*i]=1;
if(n>=2) k=1;
for(int i=3; i<=n; i+=2)
{
if(p[i]==0)
{
k++;
for(int j=3*i; j<=n; j+=i) p[j]=1;
}
}
}
int main()
{
cin >> n;
eratosthenes();
cout << k;
}
