Cod sursa(job #1416267)
Utilizator | Data | 7 aprilie 2015 19:36:16 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.37 kb |
# include <cstdio>
using namespace std;
# define N 100000
char p[N];
int main()
{int i,j,n,nr=1;
FILE *f=freopen("ciur.in","r",stdin),*g=freopen("ciur.out","w",stdout);
fscanf(f,"%d",&n);
for(i=1;((i*i)<<1)+(i<<1)<n;i++)
if(p[i]==0){
for(j=((i*i)<<1)+(i<<1);(j<<1)+1<n;j+=(i<<1)+1)
p[j]=1;
}
for(i=1;(i<<1)+1<=n;i++)
if(p[i]==0)nr++;
fprintf(g,"%d",nr);
}