Cod sursa(job #273714)

Utilizator petrecgClinciu Glisca Petre petrecg Data 8 martie 2009 22:15:38
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.32 kb
#include <stdio.h>
#include <math.h>
long i,j,k,n,prim[500000];
int main()
{freopen("ciur.in","r",stdin);freopen("ciur.out","w",stdout);
 scanf("%ld",&n);
 k=1;
 for(i=3;i<=n;i+=2)
  {if(!prim[i])
    {k++;if(i<=sqrt(n)){for(j=i*i;j<=n;j+=i)prim[j]=1;}}
  }
 printf("%ld",k);fclose(stdin);fclose(stdout);
 return 0;
}