Cod sursa(job #1382282)
| Utilizator | Data | 8 martie 2015 19:19:01 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
#include <fstream>
#include <bitset>
#define MAX_SIZE 2000001
using namespace std;
bitset<MAX_SIZE> v;
void ciur(long n)
{
v[1]=1;
long i, j;
for(i=2; i*i<=n; ++i)
if(!v[i])
for(j=i*2; j<=n; j+=i) v[j]=1;
}
int main()
{
ifstream in("ciur.in");
ofstream out("ciur.out");
long n, ctr=0;
in>>n;
ciur(n);
for(long i=2; i<=n; ++i)
if(!v[i]) ++ctr;
out<<ctr<<endl;
in.close(); out.close();
return 0;
}
