Pagini recente » Cod sursa (job #1932534) | Cod sursa (job #130939) | Cod sursa (job #2356073) | Cod sursa (job #1383726) | Cod sursa (job #711889)
Cod sursa(job #711889)
#include <fstream>
#include <bitset>
#include <cmath>
using namespace std;
bitset <2000002> bit1;
bitset <2000002> bit2;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
bool prim(long x)
{
int div;
if(x%2==0)
return 0;
for(div=3;div<=sqrt(x);div+=2)
if(!x%div)
return 0;
return 1;
}
int main()
{
int n,i,j;
fin>>n;
bit2.set();
bit1[1]=0;
bit1[2]=1;
//1 prim
// 0 marcat
for(i=3;i<=n;i++)
if(bit2[i]==1 && prim(i))
{
bit1[i]=1;
for(j=2;j*i<=n+1;j++)
bit2[i*j]=0;
}
fout<<bit1.count();
fin.close();
fout.close();
return 0;
}