Pagini recente » Monitorul de evaluare | Cod sursa (job #1293459) | Cod sursa (job #581454) | Cod sursa (job #1419484) | Cod sursa (job #1618602)
// Ciur are O(n)
#include <fstream>
#include <bitset>
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
int n,p[1000000],k;
bitset <2000000> v;
int main()
{
f>>n;
k=1;
p[k]=2;
for (int i=4; i<=n; i+=2) v[i]=1;
for (int i=3; i<=n; i+=2)
{
if (v[i]==0) // inca un numar prim
{
++k;
p[k]=i;
for (int j=2*i; j<=n; j+=i) v[j]=1;
}
}
g<<k<<'\n';
f.close();
g.close();
return 0;
}