Cod sursa(job #277352)

Utilizator CrisstiHDCristian Holdunu CrisstiHD Data 11 martie 2009 17:41:57
Problema Ciurul lui Eratosthenes Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.62 kb
var f,g:text;   
    p:array[1..2000000] of boolean;   
    nr,i,j,n:longint;   
  
BEGIN   
  assign(f,'ciur.in');   
  reset(f);   
  readln(f,n);   
  for i:=2 to n div 2 do p[i*2]:=true;   
  i:=3;   
  nr:=1;   
  while i*i<=n do begin  
    if p[i]=false then begin  
      inc(nr);   
      j:=i*i;   
      while j<=n do begin  
        p[j]:=true;   
        j:=j+i;   
      end;   
    end;   
    i:=i+2;   
  end;   
  while i<=n do begin  
    if p[i]=false then inc(nr);   
    i:=i+2;   
  end;   
  assign(g,'ciur.out');   
  rewrite(g);   
  writeln(g,nr);   
  close(g);   
END.