Pagini recente » Cod sursa (job #1943926) | Cod sursa (job #2083102) | Cod sursa (job #2151174) | Cod sursa (job #1089694) | Cod sursa (job #706861)
Cod sursa(job #706861)
#include <cstdio>
#define NMax 2000001
#define N2Max (NMax+1)>>1
bool viz[N2Max];
long ciur(long N)
{
long nrp=1,pr=1,lim=(N-1)>>1,step;
while(pr<=lim)
{
step=pr<<1+1;
viz[pr]=1;
nrp++;
for(long i=pr;i<=lim;i+=step)
viz[i]=1;
while(viz[pr])
pr++;
}
return nrp;
}
int main()
{
freopen("ciur.in","rt",stdin);
freopen("ciur.out","wt",stdout);
long N;
scanf("%ld",&N);
long x=ciur(N);
printf("%ld",x);
}