Pagini recente » Cod sursa (job #648077) | Cod sursa (job #902734) | Cod sursa (job #610000) | Cod sursa (job #1074954) | Cod sursa (job #797501)
Cod sursa(job #797501)
#include<cstdio>
using namespace std;
int n,c,i,j,k,m,ciur(int);
char p[1000010];
int main ()
{
FILE *r = fopen("ciur.in", "r");
FILE *w = fopen("ciur.out", "w");
fscanf(r, "%d", &n);
fprintf(w, "%d",ciur(n));
return 0;
}
int ciur(int n)
{
if(n==2)return 1;
if(n==3)return 2;
c=1;m=n/2;
for(i=3,k=1;i*i<=n;i+=2,k++)
if(p[k]==0)
{
c++;
for(j=2*k*k+2*k;j<=m;j+=k)p[j]=1;
}
for(;k<=m;k++)
if(p[k]==0)c++;
return c;
}