Pagini recente » Cod sursa (job #1092275) | Cod sursa (job #846988) | Cod sursa (job #857201) | Cod sursa (job #2134753) | Cod sursa (job #1469285)
#include <bits/stdc++.h>
#define Nmax 2000005
///#define Pmax 348514
#define Nrp 150005
using namespace std;
int Pmax;
array<bool,Nmax> ciur;
array<int,Nrp>prime;
int st;
void sieve(){
prime[++st] = 2;
int d;
for(auto i = 1; prime[st] <= Pmax; ++i)
if(!ciur[(i<<1)|1]){
d = (i<<1|1);
prime[++st] = d;
for(int j = 1; d*((j<<1)|1) < Nmax; ++j)
ciur[d*((j<<1)|1)] = true;
}
printf("%d\n",st-1);
}
int main()
{
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%d",&Pmax);
sieve();
return 0;
}