Cod sursa(job #1416269)
Utilizator | Data | 7 aprilie 2015 19:42:09 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.36 kb |
# include <cstdio>
using namespace std;
# define N 100000
char p[N];
int main()
{int i,j,n,nr=1;
FILE *f=fopen("ciur.in","r"),*g=fopen("ciur.out","w" );
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;2*i+1<=n;i++)
if(p[i]==0)nr++;
fprintf(g,"%d",nr);
}