Cod sursa(job #276404)

Utilizator philipPhilip philip Data 11 martie 2009 09:58:20
Problema Ciurul lui Eratosthenes Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.49 kb
var f,g:text;
    p:array[1..2000000] of boolean;
    nr,i,j,n:longint;

BEGIN
  assign(f,'ciur.in');
  reset(f);
  readln(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;
  writeln(nr);
  readln;
END.