Pagini recente » Cod sursa (job #812848) | Cod sursa (job #390339) | Cod sursa (job #2784562) | Cod sursa (job #359904) | Cod sursa (job #2573912)
#include<bits/stdc++.h>
using namespace std;
const int NMAX=2000005;
bool ciur[NMAX];
void preComp(int n){
ciur[0]=ciur[1]=1;
for(int i=2;i<=n/2;i++)
ciur[i*2]=1;
for(int d=3;d*d<=n;d+=2)
if(!ciur[d])
for(int i=d;i*d<=n;i+=2)
ciur[i*d]=1;
}
int main(){
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
int n,sol=0;
scanf("%d", &n);
preComp(n);
for(int i=2;i<=n;i++)
if(!ciur[i])
sol++;
printf("%d", sol);
return 0;
}