Pagini recente » Cod sursa (job #2123723) | Cod sursa (job #314296) | Cod sursa (job #109781) | Borderou de evaluare (job #990147) | Cod sursa (job #465218)
Cod sursa(job #465218)
#include <stdio.h>
#define nmax 2000001
using namespace std;
char p[nmax];
int n;
int ciur(void)
{int i,j,nr=1;
for(i=1;((i*i)<<1)+(i<<1)<=n;i++)
if((p[i>>3] & (1<<(i&7)))==0)
for(j=((i*i)<<1)+(i<<1);(j<<1)+1<=n;j+=(i<<1)+1)
p[j>>3] |=(1<<(j&7));
for(i=1;(i<<1)+1<=n;i++)
if((p[i>>3]& (1<<(i&7)))==0) nr++;
return nr;
}
int main(void)
{FILE *fin=fopen("ciur.in","r");
FILE *fout=fopen("ciur.out","w");
fscanf(fin,"%d",&n);
fprintf(fout,"%d",ciur());
fclose(fin); fclose(fout);
return 0;
}