Cod sursa(job #163107)

Utilizator n_lichkingSentes Norbert n_lichking Data 21 martie 2008 14:13:03
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
/* ciurul lui eratosthene */
#include<stdio.h>
#include<math.h>
FILE *f=fopen("ciur.in","r");
FILE *g=fopen("ciur.out","w");
long n,viz[2000000];
int main()
{
 fscanf(f,"%ld",&n);

  long i,k;
  i=2;
  k=0;
   while(i<=sqrt(n))
   { for(long j=i+i;j<=n;j+=i)
       viz[j]=1;
    for(long t=i+1;t<=n;t++)
    if(!viz[t])
      {i=t;break;}
	 }

for(long j=2;j<=n;j++)
  if(!viz[j]) 
   ++k;

fprintf(g,"%ld",k);
fcloseall();

return 0;
}