Pagini recente » Monitorul de evaluare | Cod sursa (job #1277147) | Monitorul de evaluare | Cod sursa (job #1781113) | Cod sursa (job #2522016)
#include <iostream>
#include <fstream>
using namespace std;
#define dm 2000001
ifstream fin("ciur.in");
ofstream fout("ciur.out");
bool ciur[dm];
void er(int dmax){
int i, j, x;
x=dmax/2;
ciur[0]=ciur[1]=1;
for (i=2;i<=x;++i) ciur[2*i]=1;
for (i=3;i*i<=dmax;i+=2)
if (ciur[i]==0){
x=dmax/i;
for (j=3;j<=x;j+=2)
ciur[i*j]=1;
}
}
int main(){
int n, k=1, i;
fin>>n;
er(n);
for (i=3;i<=n;i+=2)
if (ciur[i]==0){
++k;
}
fout<<k;
}