Cod sursa(job #654045)
| Utilizator | Data | 29 decembrie 2011 14:06:00 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 kb |
#include <iostream>
#include <bitset>
#include <fstream>
using namespace std;
ifstream in("ciur.in");
ofstream out ("ciur.out");
const int N=10000001;
bitset <N> primes;
int n,i,j,nr;
using namespace std;
int main()
{
nr=0;
cout << "n=";
cin>>n;
primes [1]=1;
for (i=4;i<=n;i+=2)
primes [i]=1;
for (i=3;i*i<=n;i+=2)
if (!primes [i])
for (j=i<<1;j<=n;j+=i)
primes [j]=1;
for (i=1;i<=n;i++)
if (!primes[i]) nr++;
cout<<nr;
return 0;
}
