Pagini recente » Cod sursa (job #448570) | Cod sursa (job #972990) | Cod sursa (job #743742) | Cod sursa (job #613042) | Cod sursa (job #1097190)
#include <cstdio>
#include <bitset>
#define Nmax 2000099
#define Pmax 200000
using namespace std;
int N,P[Pmax];
bitset < Nmax > v;
void Ciur(int N)
{
int i;
P[++P[0]]=2;
for(i=3;i*i<=N;i+=2)
if(!v[i])
{
P[++P[0]]=i;
if(1LL*i*i<=1LL*N)
for(int j=i*i;j<=N;j+=2*i)
if(!v[j])v[j]=1;
}
for(; i<=N ; i+=2)
if(!v[i])v[i]=1,P[++P[0]]=i;;
}
int main()
{
freopen("ciur.in", "rt", stdin);
freopen("ciur.out", "wt", stdout);
scanf("%d",&N);
Ciur(N);
printf("%d\n",P[0]);
return 0;
}