Pagini recente » Cod sursa (job #2193374) | Cod sursa (job #2405853) | Cod sursa (job #563863) | Cod sursa (job #1176821) | Cod sursa (job #1000153)
#include<cstdio>
#include<vector>
#include<cmath>
#define CLOSE fclose(in); fclose(out); return 0;
using namespace std;
int N,Sol;
void ciur ();
int main(){
FILE *in=fopen("ciur.in","r");
FILE *out=fopen("ciur.out","w");
fscanf(in,"%d",&N);
ciur();
fprintf(out,"%d\n",Sol);
CLOSE
}
void ciur (){
int sqr = (int) sqrt(N) + 1;
vector<bool> v(N + 1);
for(int i = 4; i <= N; i+= 2){
v[i] = true;
}
Sol++;
int d;
for(int i = 3; i <= N; i+= 2)
{
if(v[i] == false)
{
Sol++;
if(i > sqr)
continue;
d=2*i;
for(int j = i * i; j <= N; j += d)
{
v[j] = true;
}
}
}
}